Robot system controlling method, robot system, and control apparatus for quadrupedal robot

ABSTRACT

An object of the present invention is to provide a robot system controlling method and robot system which perform link angle control and joint stiffness control through feedback control.

BACKGROUND OF THE INVENTION

1. Field of the Invention

The present invention relates to a robot system controlling method androbot system which perform link angle control and stiffness control.Suitably, the present invention is applied to a working robot and alegged locomotion robot.

2. Description of the Related Art

In manipulator controlling methods, it has become important that endeffectors (such as hands) installed at tips of links can flexibly touchan object. If this is applied to an industrial robot, human-robotcollaboration can be realized. Then, by controlling the direction offlexibility of the hands, part-fitting operations will be made easier.On the other hand, if this is applied to a legged locomotion robot,shocks to the body can be cushioned as the robot touches the groundsoftly. Also, the robot will be able to walk stably on an uneven groundsurface by absorbing level differences.

To control flexibility of hands, available methods include impedancecontrol which involves attaching force sensors to hands and controlwhich uses artificial muscle actuators. It is known that human musclesare variable viscoelastic control mechanisms as well as actuators. Amongartificial muscles, pneumatic rubber artificial muscles typified byMcKibben artificial muscles are especially similar to human muscles inviscoelastic properties. Then, using softness control of the artificialmuscle actuators installed in manipulators, the hands can be caused totouch an object with desired flexibility. However, the artificial muscleactuators are known to have a problem in controllability because theartificial muscle actuators have nonlinear viscoelastic properties andthe artificial muscle actuators, which generate forces only in acontraction direction, must be controlled via antagonistic arrangement.

Due to this problem, Japanese Patent Application Laid-Open No. S63-68382discloses a technique for placing a rubber artificial muscle actuatorsupplied with a compressed fluid in antagonism to a link, detecting anangle at a joint, and thereby controlling a swing angle of the link atthe joint through feedback control.

Also, Japanese Patent No. 3436320 discloses a technique for generating amanipulator model including viscoelastic properties of muscles as wellas feed forward input used to simultaneously control a joint angle andhand flexibility using a correction calculation unit. Upon receiving acontrol input, the technique disclosed in Japanese Patent No. 3436320outputs the joint angle and a viscoelastic coefficient of an artificialmuscle actuator using the model and compares the joint angle andviscoelastic coefficient with target values. Then, departures from thetarget values are propagated back to the correction calculation unit tocorrect feed forward input. The corrected feed forward input is given tothe model again. This process is repeated to refine the feed forwardinput.

However, although the technique disclosed in Japanese Patent ApplicationLaid-Open No. S63-68382 detects the swing angle of the link and performsfeedback control to attain a target swing angle, the technique controlsonly the swing angle of the link at the joint, and does not realizecontrol intended to vary the flexibility (in other words, stiffness) ofthe link at the joint.

Furthermore, the technique disclosed in Japanese Patent No. 3436320simultaneously controls the swing angle of a link and flexibility of thelink at the joint through feed forward control. Inputs for feed forwardcontrol are determined by correcting departures from the target valuesrepeatedly, and thus very large amounts of computation are required inorder to generate the inputs. Consequently, iterative calculations needto be performed each time the target values for the swing angle of thelink and flexibility of the joint interconnecting the links are changed.Thus, the technique has a problem in that time is required forcalculations when the target values are changed.

The problem occurs not only when an artificial muscle actuator is usedas a driving unit adapted to drive the link, but also when a rotatingmotor is used as a driving unit for control.

Thus, an object of the present invention is to provide a robot systemcontrolling method and robot system which perform link angle control andjoint stiffness control through feedback control.

SUMMARY OF THE INVENTION

The present invention provides a robot system controlling method for arobot system which includes a link whose base end is swingably supportedby a fixing member, and a pair of actuators connected to the fixingmember and the link and adapted to swing the link using a differencebetween contraction forces, adjusts the contraction forces of theactuators based on respective contraction force command values, andthereby controls operation of the link, the controlling methodcomprising: performing a deviation calculation to calculate a valuewhich represents a deviation between a swing angle θ₁ and a target swingangle r_(a) of the link with respect to the fixing member; performingtorque command generation to perform PID control calculations on thevalue which represents the deviation and thereby generate a torquecommand value T₁ to swing the link; performing multiplication tocalculate a product U₁×r of length r of a moment arm from a swing centerof the link and a stiffness command value U₁ which represents a sum ofthe contraction force command values; performing torque commandcorrection to generate a new torque command value T₁ whose absolutevalue is limited to or below the product U₁×r if the absolute value ofthe originally generated torque command value T₁ is larger than theproduct U₁×r while using the originally generated torque command valueT₁ as it is if the absolute value of the originally generated torquecommand value T₁ is equal to or smaller than the product U₁×r; andperforming contraction force command value calculations to determine thecontraction force command values using calculation formulae (U₁+T₁/r)/2,(U₁−T₁/r)/2 based on the torque command value T₁ generated as a resultof the torque command correction.

Also, the present invention provides a robot system and a controlapparatus for a quadrupedal robot.

The present invention can achieve simultaneous control of a link angleand link stiffness at a joint using a simple feedback control system.This eliminates the need for iterative calculations even if targetvalues for the swing angle and stiffness of the link are changed, andthereby allows the swing angle of the link and stiffness of the joint tobe adjusted quickly to the target values.

Further features of the present invention will become apparent from thefollowing description of exemplary embodiments with reference to theattached drawings.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a diagram illustrating a viscoelastic model of an actuator ofa robot system according to a first embodiment of the present invention.

FIG. 2 is an explanatory diagram illustrating a schematic configurationof the robot system according to the first embodiment of the presentinvention.

FIG. 3 is a block diagram illustrating a control apparatus for the robotsystem according to the first embodiment of the present invention.

FIG. 4A is a diagram of simulation results on the robot system accordingto the first embodiment of the present invention, illustrating changesin a swing angle and target swing angle of a link.

FIG. 4B is a diagram of simulation results on the robot system accordingto the first embodiment of the present invention, illustrating responsesto contraction force command values.

FIG. 4C is a diagram of simulation results on the robot system accordingto the first embodiment of the present invention, illustrating responsesto a difference between contraction force command values and a sum ofthe contraction force command values as well as responses to a torquecommand value.

FIG. 5 is a diagram of simulation results on the robot system accordingto the first embodiment of the present invention, illustrating responsesto a stiffness command value.

FIG. 6A is a diagram of simulation results on a robot system accordingto a comparative example, illustrating changes in a swing angle andtarget swing angle of a link.

FIG. 6B is a diagram of simulation results on the robot system accordingto the comparative example, illustrating responses to contraction forcecommand values.

FIG. 6C is a diagram of simulation results on the robot system accordingto the comparative example, illustrating responses to a differencebetween contraction force command values and a sum of the contractionforce command values as well as responses to a torque command value.

FIG. 7 is an explanatory diagram illustrating a schematic configurationof a robot system according to a second embodiment of the presentinvention.

FIG. 8 is a diagram for illustrating a stiffness ellipse at a tip of asecond link of the robot system according to the second embodiment ofthe present invention.

FIG. 9 is a block diagram illustrating a control apparatus for the robotsystem according to the second embodiment of the present invention.

FIG. 10A is a diagram of simulation results on the robot systemaccording to the second embodiment of the present invention,illustrating changes in a swing angle and target swing angle of a firstlink.

FIG. 10B is a diagram of simulation results on the robot systemaccording to the second embodiment of the present invention,illustrating changes in a swing angle and target swing angle of thesecond link.

FIG. 11A is a diagram of simulation results on the robot systemaccording to the second embodiment of the present invention,illustrating responses to a first stiffness command value.

FIG. 11B is a diagram of simulation results on the robot systemaccording to the second embodiment of the present invention,illustrating responses to a second stiffness command value.

FIG. 11C is a diagram of simulation results on the robot systemaccording to the second embodiment of the present invention,illustrating responses to a third stiffness command value.

FIG. 12A is a diagram of simulation results on the robot systemaccording to the second embodiment of the present invention,illustrating responses to a difference between first contraction forcecommand values and a sum of the first contraction force command valuesas well as responses to a first torque command value.

FIG. 12B is a diagram of simulation results on the robot systemaccording to the second embodiment of the present invention,illustrating responses to a difference between second contraction forcecommand values and a sum of the second contraction force command valuesas well as responses to a second torque command value.

FIG. 12C is a diagram of simulation results on the robot systemaccording to the second embodiment of the present invention,illustrating responses to a difference between third contraction forcecommand values and a sum of the third contraction force command values.

FIG. 13 is a diagram of simulation results on the robot system accordingto the second embodiment of the present invention, illustrating a locusand target trajectory of a tip of the second link.

FIG. 14 is a block diagram illustrating a control apparatus for a robotsystem according to a third embodiment of the present invention.

FIG. 15 is a diagram illustrating changes in coefficient values of gainadjusters in a control apparatus according to the third embodiment ofthe present invention.

FIG. 16A is a diagram of simulation results on the robot systemaccording to the third embodiment of the present invention, illustratingthe swing angle of a first link under an external force.

FIG. 16B is a diagram of simulation results on the robot systemaccording to the third embodiment of the present invention, illustratingthe swing angle of a second link under an external force.

FIG. 17 is a diagram of simulation results on the robot system accordingto the third embodiment of the present invention, illustrating responsesof a third actuator to a difference between contraction force commandvalues and a sum of the contraction force command values.

FIG. 18A is a diagram of simulation results on the robot systemaccording to the third embodiment of the present invention, illustratinga locus and target trajectory of the tip of the second link when thecoefficient values of the gain adjusters are changed.

FIG. 18B is a diagram of simulation results on the robot systemaccording to the third embodiment of the present invention, illustratinga locus and target trajectory of the tip of the second link when thecoefficient values of the gain adjusters are set to 0.

FIG. 19 is a block diagram illustrating principal parts of a controlapparatus for a robot system according to a fourth embodiment of thepresent invention.

FIG. 20 is a stick diagram illustrating simulation results of a robotsystem according to a fifth embodiment of the present invention.

FIG. 21 is a block diagram illustrating principal parts of a robotsystem according to a sixth embodiment of the present invention.

FIG. 22 is a diagram illustrating a hyperbolic tangent functionaccording to the sixth embodiment.

FIG. 23A is a diagram illustrating simulation results according to thesixth embodiment.

FIG. 23B is a diagram illustrating simulation results according to thesixth embodiment.

FIG. 24A is a diagram illustrating simulation results according to thesixth embodiment.

FIG. 24B is a diagram illustrating simulation results according to thesixth embodiment.

FIG. 25A is a diagram illustrating simulation results according to thesixth embodiment.

FIG. 25B is a diagram illustrating simulation results according to thesixth embodiment.

FIG. 26 is a diagram illustrating a simulation model according to aseventh embodiment.

FIG. 27A is a diagram illustrating a stiffness ellipse according to theseventh embodiment.

FIG. 27B is a diagram illustrating a stiffness ellipse according to theseventh embodiment.

FIG. 28A is a gait phase diagram according to the seventh embodiment.

FIG. 28B is a gait phase diagram according to the seventh embodiment.

FIG. 29 is a block diagram of walking control according to the seventhembodiment.

FIG. 30 is a diagram illustrating an obstacle for a walking robotaccording to the seventh embodiment.

FIG. 31A is a diagram illustrating simulation results according to theseventh embodiment.

FIG. 31B is a diagram illustrating simulation results according to theseventh embodiment.

FIG. 31C is a diagram illustrating simulation results according to theseventh embodiment.

FIG. 31D is a diagram illustrating simulation results according to theseventh embodiment.

FIG. 32A is a diagram illustrating simulation results according to theseventh embodiment.

FIG. 32B is a diagram illustrating simulation results according to theseventh embodiment.

FIG. 33A is a diagram illustrating simulation results according to theseventh embodiment.

FIG. 33B is a diagram illustrating simulation results according to theseventh embodiment.

FIG. 34A is a diagram illustrating simulation results according to theseventh embodiment.

FIG. 34B is a diagram illustrating simulation results according to theseventh embodiment.

FIG. 34C is a diagram illustrating simulation results according to theseventh embodiment.

FIG. 35A is a diagram illustrating simulation results according to theseventh embodiment.

FIG. 35B is a diagram illustrating simulation results according to theseventh embodiment.

FIG. 36A is a diagram illustrating simulation results according to theseventh embodiment.

FIG. 36B is a diagram illustrating simulation results according to theseventh embodiment.

FIG. 37 is a diagram illustrating simulation results according to theseventh embodiment.

DESCRIPTION OF THE EMBODIMENTS

Preferred embodiments of the present invention will now be described indetail in accordance with the accompanying drawings.

First Embodiment

FIG. 1 is a diagram illustrating a viscoelastic model of an actuatorapplied to a robot system according to a first embodiment of the presentinvention. In the first embodiment, a manipulator which uses pneumaticartificial muscle actuators will be taken as an example of the robotsystem and simultaneous control of a joint angle and stiffness of themanipulator will be described.

(1) Modeling

An artificial muscle actuator has a property similar to a propertycalled muscular viscoelasticity. As illustrated in FIG. 1, theartificial muscle actuator is modeled using a force generating element,elasticity element, and viscosity element. Let u denote a contractionforce of the force generating element and let x denote an amount ofcontraction of a muscle when a contraction direction is taken as apositive direction, then a contraction speed is given by the followingequation.

{dot over (x)}

Also, let k denote an elastic force constant, let b denote a viscousforce constant, and let F denote a muscle contraction force, thenviscoelastic properties of the muscle are modeled as follows:

F=u−kux−bu{dot over (x)}  (1)

Thus, the elastic force and viscous force of the muscle contractionforce have a nonlinear element which is proportional to the contractionforce u of the force generating element.

Next, the robot system according to this first embodiment is illustratedin FIG. 2. The robot system 100 illustrated in FIG. 2 is a so-calledsingle-link manipulator which includes a link 101 and a pair ofactuators e₁ and f₁ as well as base members 103 which serve as fixingmembers and a rodlike arm member 104 extending from the base members103.

The link 101 is a longitudinal member. A base end 101 a of the link 101is swingably supported at a longitudinal tip of the arm member 104serving as a fixing member. An end effector (such as a hand: not shown)is installed at a tip 101 b of the link 101. That is, the link 101 isswingably supported at a joint.

Each of the actuators e₁ and f₁ is connected at one end to the basemembers 103 which serve as fixing members and connected at the other endto the base end 101 a of the link 101, being placed in antagonism toeach other so as to swing the link 101 using a difference betweencontraction forces.

The robot system 100 is equipped with a control apparatus 150 adapted toadjust the contraction forces of the actuators e₁ and f₁ based onrespective contraction force command values and thereby control theoperation of the link 101.

The actuators e₁ and f₁ are pneumatic artificial muscle actuatorsillustrated in FIG. 1. The artificial muscle actuators, which generateforces only in the contraction direction, are placed in antagonism toeach other as illustrated in FIG. 2 in order to position the joint at adesired angle.

Let u_(e1) and u_(f1) denote the contraction forces of force generatingelements of the actuators e₁ and f₁ placed in antagonism to each other,respectively, let 0 denote a swing angle of the link 101 with respect tothe arm member 104, and let I denote moment of inertia of the link.Also, let r denote the length of a moment arm, i.e., the distancebetween a swing center of the link 101 and a connection point of theactuators e₁ and f₁ with the link 101. Then, an equation of motion isgiven by Eq. (2) below.

I{umlaut over (θ)}=(u _(f1) −u _(e1))r−(u _(f1) −u _(e1))kr ²θ−(u _(f1)+u _(e1))br ²{dot over (θ)}  (2)

It can be seen that the difference between the contraction forces u_(e1)and u_(f1) in the first term on the right side of Eq. (2) givesrotational torque to the joint and that the sums of the contractionforces u_(e1) and u_(f1) in the second and third terms on the right sidecause the stiffness and viscosity of the link at the joint to vary.

(2) Control System Design

This first embodiment is intended to set the swing angle of the link 101with respect to the arm member 104 at a target swing angle and, at thesame time, control the stiffness of the link 101 at the joint betweenthe arm member 104 and the link 101.

A block diagram of the control apparatus 150 according to this firstembodiment is illustrated in FIG. 3. Now, let r_(a) denote the targetswing angle of the link 101 with respect to the arm member 104 which isa fixing member and let r_(s) denote target stiffness of the link 101 atthe joint between the arm member 104 and the link 101. Incidentally, inFIG. 3, a block denoted by reference character P contains actuators e₁,f₁, e₂, f₂, e₃ and f₃ and the link 101.

The control apparatus 150 is equipped with a swing angle detectionsensor 1 adapted to detect the swing angle θ₁ of the link 101 withrespect to the arm member 104 and a touch sensor 2 adapted to output adetection signal, indicating the external force when any external forceacts on the link 101.

Also, the control apparatus 150 is equipped with a subtracter 3 and gainadjuster 4 serving as deviation calculation units, a PID controller 5serving as a torque command generating unit, and a multiplier 6 servingas a multiplication unit adapted to multiply a stiffness command valueU₁ by the moment arm length r from the swing center of the link 101.

Also, the control apparatus 150 is equipped with a saturation circuit 7serving as a torque command correction unit adapted to correct a torquecommand value T₁ output from the PID controller 5. Furthermore, thecontrol apparatus 150 is equipped with a contraction force command valuecalculating unit 8 adapted to determine contraction force command valuesu_(e1) and u_(f1) for the actuators e₁ and f₁ by calculation using thetorque command value T₁ and stiffness command value U₁.

The components will be described in detail below. To begin with, theswing angle detection sensor 1 is a sensor such as a potentiometer orencoder. Although not illustrated in FIG. 1, the swing angle detectionsensor 1 is installed at the joint between the arm member 104 and thelink 101 and adapted to detect the angle of the joint with respect tothe direction in which the arm member 104 extends.

The touch sensor 2 is installed on an end effector (such as a hand: notshown) or the link 101 and adapted to output a detection signal when anobject touches the end effector or link 101. That is, an external forceacting on the link 101 means that an object is in touch with the endeffector or link 101.

The subtracter 3 calculates a value (r_(a)−θ₁) which represents adeviation (difference) between the swing angle θ₁ and target swing angler_(a).

The gain adjuster 4 multiplies the output of the subtracter 3, i.e., thevalue (r_(a)−θ₁) which represents the deviation, by a coefficient valueG_(t) and outputs the product, where the coefficient value G_(t)represents contact gain. The coefficient value G_(t) is a value between0 and 1. When there is no detection signal from the touch sensor 2, thegain adjuster 4 sets the coefficient value at G_(t)=1 and outputs thevalue (r_(a)−θ₁) which represents the received deviation. During aperiod when a detection signal continues to be output from the touchsensor 2, the gain adjuster 4 multiplies the value (r_(a)−θ₁) whichrepresents the deviation by the coefficient value G_(t)=0 and outputs anew value (i.e., r_(a)−θ₁=0) which represents the deviation.

The PID controller 5 performs PID control calculations on the value(r_(a)−θ₁) of the deviation and thereby generates the torque commandvalue T₁ used to swing the link 101. That is, the PID controller 5serving as a feedback control system outputs the torque command value T₁used to compensate for the deviation between the swing angle θ₁ andtarget swing angle r_(a) of the link 101 (i.e., to bring the swing angleθ₁ close to the target swing angle r_(a)).

According to this first embodiment, a transfer function of the PIDcontroller 5 is given by

$\begin{matrix}{{K_{{PID}\; 1}(s)} = \left( {2.5 + \frac{2}{s} + \frac{0.14\; s}{{1/\left( {100 \cdot 2 \cdot \pi} \right)}s\; 1}} \right)} & (3)\end{matrix}$

Now, from Eq. (2),

(u _(f1) −u _(e1))r=T ₁  (4)

Thus, if the contraction force command values u_(e1) and u_(f1) aredetermined so as to satisfy Eq. (4) above, the link 101 can be swung bytorque corresponding to the torque command value T₁.

However, a condition for the stiffness of the link 101 at the jointgiven by Eq. (5) below has to be satisfied at the same time.

(u _(f1) +u _(e1))kr ² =r _(s)  (5)

The stiffness command value U₁ which represents the sum of the twocontraction force command values u_(e1) and u_(f1) can be defined by Eq.(6) below.

u _(f1) +u _(e1) =U ₁  (6)

Thus, stiffness command value U₁ can be expressed by Eq. (7) below usingthe target stiffness r_(s). Since the elastic force constant k and themoment arm length r are constants, the target stiffness r_(s) andstiffness command value U₁ are proportional to, and thus equivalent to,each other.

U ₁ =r _(s) /kr ²  (7)

The contraction force command values u_(e1) and u_(f1) need to bedetermined so as to satisfy Eq. (7). To satisfy the torque command valueT₁ and stiffness command value U₁ at the same time, Eqs. (4) and (6) canbe solved for u_(e1) and u_(f1) to obtain Eq. (8) below.

$\begin{matrix}{{u_{f\; 1} = \frac{U_{1} + {T_{1}/r}}{2}},{u_{e\; 1} = \frac{U_{1} + {T_{1}/r}}{2}}} & (8)\end{matrix}$

However, the artificial muscle actuators generate forces only in thecontraction direction. Therefore, the conditions in Eq. (9) below haveto be satisfied simultaneously.

u _(f1)≧0,u _(e1)≧0  (9)

Eqs. (8) and (9) give the conditions in Eq. (10) below.

T ₁ /r≦U ₁ ,T ₁ /r≧−U ₁  (10)

That is, the torque command value T₁ needs to satisfy the conditions inEq. (11) below,

−U ₁ r≦T ₁ ≦U ₁ r  (11)

Thus, once the conditions in Eq. (11) are satisfied, the stiffness ofthe link 101 at the joint matches the target stiffness r_(s) and theswing angle of the link 101 is set at the target swing angle r_(a) basedon the torque command value T₁.

Thus, according to this first embodiment, the multiplier 6 finds theproduct U₁×r of the moment arm length r and stiffness command value U₁and the saturation circuit 7 limits the torque command value T₁ (i.e.,feedback control input) to the values specified by Eq. (12) to satisfyEq. (11).

|T ₁ |≦U ₁ r  (12)

That is, if the absolute value of the torque command value T₁ generatedby the PID controller 5 is equal to or smaller than the product U₁×r,the saturation circuit 7 outputs the torque command value T₁ generatedby the PID controller 5, as it is. If the absolute value of the torquecommand value T₁ generated by the PID controller 5 is larger than theproduct U₁×r, the saturation circuit 7 generates and outputs a newtorque command value T₁ whose absolute value is limited to or below theproduct U₁×r.

Incidentally, instead of being the saturation circuit 7 described above,the torque command correction unit may be a circuit which functions tokeep the torque command value T₁ (control input) within the range of Eq.(11) by varying the gain of the PID controller 5.

For cases where the touch sensor 2 does not output a detection signal(when the touch sensor 2 is off), operation of the control apparatus 150will be described below with reference to FIG. 3. First, the swing angledetection sensor 1 detects the swing angle of the link 101 (swing angledetection step).

Then, the subtracter 3 calculates the value (r_(a)−θ₁) which representsthe deviation between the swing angle and target swing angle r_(a) ofthe link 101 (deviation calculation step).

Since the touch sensor 2 is off, the gain adjuster 4 sets the multiplierfactor, i.e., the coefficient value G_(t), to 1, and outputs the value(r_(a)−θ₁) of the deviation as it is.

The PID controller 5 performs PID control calculations on the value(r_(a)−θ₁) of deviation acquired from the gain adjuster 4, and therebygenerates the torque command value T₁ used to swing the link 101 (torquecommand generating step).

The multiplier 6 acquires the stiffness command value U₁ and moment armlength r and calculates the product U₁×r thereof (multiplication step).

If the absolute value of the torque command value T₁ generated by thePID controller 5 is equal to or smaller than the product U₁×r, thesaturation circuit 7 outputs the torque command value T₁ generated bythe PID controller 5, as it is. If the absolute value of the torquecommand value T₁ generated by the PID controller 5 is larger than theproduct U₁×r, the saturation circuit 7 generates and outputs a newtorque command value T₁ whose absolute value is limited to or below theproduct U₁×r (torque command correction step).

Specifically, the saturation circuit 7 outputs a new torque commandvalue T₁ whose absolute value is equal to the product U₁×r. For example,if the torque command value T₁ generated by the PID controller 5 islarger than U₁×r, the new torque command value T₁ is set equal to U₁×r.On the other hand, if the torque command value T₁ generated by the PIDcontroller 5 is smaller than −U₁×r, the new torque command value T₁ isset equal to −U₁×r. Consequently, the torque command value T₁ is limitedto Eq. (11), and thus the final contraction force command values u_(e1)and u_(f1) do not become negative.

Then, the contraction force command value calculating unit 8 finds thecontraction force command values u_(e1) and u_(f1) using the calculationformulae (U₁+T₁/r)/2, (U₁−T₁/r)/2 based on the torque command value T₁output from the saturation circuit 7 (contraction force command valuecalculating step). Then, pneumatic pressures of the actuators e₁ and f₁are adjusted to the respective contraction force command values u_(e1)and u_(f1), and consequently the contraction forces of the actuators e₁and f₁ are adjusted to the contraction force command values u_(e1) andu_(f1).

Through the above operation, the contraction force command values u_(e1)and u_(f1) are set by feedback control so as to adjust the swing angleθ₁ of the link 101 to the target swing angle r_(a) and adjust thestiffness of the link 101 at the joint to the target stiffness r_(s)(=U₁×k×r²).

Consequently, the angle and stiffness of the link 101 can be controlledsimultaneously using feedback control simpler than feed forward control.This eliminates the need for iterative calculations required by feedforward control even if the target swing angle r_(a) and targetstiffness r_(s) (i.e., stiffness command value U₁) of the link 101 arechanged, and thereby allows the swing angle and stiffness of the link101 to be adjusted quickly to the target values.

However, when the feedback control system has high gain, the stiffnessof the joint consequently becomes predominant. That is, when an externalforce acts on the link 101, since the link 101 tends to swing away fromthe position located at the target swing angle r_(a) due to the externalforce, if the coefficient value is set at G_(t)=1, the value (r_(a)−θ₁)which represents the deviation between the swing angle θ₁ and targetswing angle r_(a) becomes non-zero.

Consequently, the contraction forces of the actuators e₁ and f₁ are setso as to return the link 101 to its target position located at thetarget swing angle r_(a), based on the torque command value T₁ outputfrom the PID controller 5. As a result, the link 101 is positioned atits target position. Therefore, when an external force acts on the link101, the contraction forces of the actuators e₁ and f₁ are set so as toprevent movement of the link 101, causing the stiffness of the link 101to become higher than the target stiffness r, and thereby impairing theflexibility of the link 101.

Thus, during a period when the touch sensor 2 continues to output adetection signal by sensing an external force acting on the link 101,the gain adjuster 4 multiplies the value (r_(a)−θ₁) which represents adeviation by the coefficient value G_(t)=0 and outputs r_(a)−θ₁=0 whichindicates that there is no deviation even if there actually is adeviation. That is, the gain adjuster 4 calculates and outputs a newvalue (r_(a)−θ₁=0) which represents the deviation.

Consequently, even if a deviation occurs actually under the action of anexternal force, the PID controller 5 regards that the deviation is 0 andoutputs the same torque command value T₁ as just before the detection ofthe detection signal, causing the stiffness of the link 101 to be keptat the target stiffness r_(s). Thus, even if an external force acts onthe link 101, the coefficient value is set quickly to G_(t)=0, causingthe feedback control system to be shut off and thereby maintaining theflexibility of the link 101.

When the touch sensor 2 is switched off, the coefficient value on thegain adjuster 4 is switched to G_(t)=1, and consequently feedbackcontrol is performed based on the actual deviation (r_(a)−θ₁).

(3) Simulation

A simulation was performed using the control apparatus 150 illustratedin FIG. 3. The moment of inertia of the link 101 was set to I=8.3×10⁻²[kgm²], the moment arm length was set to r=0.1 [m], the elastic forceconstant was set to k=3, and the viscous force constant was set to b=3.The target swing angle r_(a) was set to reach r_(a)=65 [deg] in 2seconds, changing in a ramped fashion from an initial angle of 45 [deg].

The target stiffness r_(s) of the link 101 at the joint was controlledto be r_(s)=U₁×k×r²=0.4×k×r² [Nm/rad]. Since the elastic force constantk and the moment arm length r are constants, the actual stiffness of thejoint can be controlled to be 0.4 when the stiffness command value U₁ isU₁=0.4.

In FIG. 4A, the swing angle θ₁ of the link 101 is indicated by a solidline and the target swing angle r_(a) is indicated by a broken line.Also, in FIG. 4B, the actual contraction forces (responses) of theactuators in response to the contraction force command values u_(e1) andu_(f1) are indicated by a solid line and broken line, respectively.Furthermore, in FIG. 4C, the difference between the actual contractionforces of the actuators in response to the contraction force commandvalues u_(e1) and u_(f1) is indicated by a solid line, the sum of theactual contraction forces is indicated by a broken line, and a T₁/rresponse is indicated by a dashed line.

It can be seen from FIG. 4A that the swing angle θ₁ of the link 101 isset at the target swing angle r_(a). It can be seen from FIG. 4B thatalthough the torque command value T₁ of the feedback control system isallocated according to the conditions in Eqs. (7) and (10), the responseto the contraction force command values u_(e1) and u_(f1) satisfy aproperty of the contraction forces of artificial muscles according towhich the contraction forces take only positive values. In FIG. 4C, theu_(f1)−u_(e1) response indicated by a solid line coincides with the T₁/rresponse indicated by a dashed line, satisfying the conditions of Eq.(3). Also, the u_(f1)+u_(e1) response indicated by a broken line isalways 0.4, meaning that the stiffness of the joint is kept at thetarget stiffness.

Next, a simulation was carried out assuming that the tip of the link 101was pushed by an external force. A torque disturbance tending to turnthe joint angle in the positive direction was applied to the joint ofthe link 101 between the 10th and 11th seconds. While the touch sensor 2was being touched (between the 10th and 11th seconds), the coefficientvalue G_(t) of the gain adjuster 4 was set to 0. The stiffness commandvalue U₁ was set to 0.3, 1.0 and 10 by varying the target stiffnessr_(s) of the link 101 at the joint, and responses thereto are indicatedby a solid line, broken line and dotted line, respectively, in FIG. 5.

It can be seen that the stiffness of the joint in response to thestiffness command value U₁=0.3 indicated by the solid line was keptlower than when the stiffness command value U₁ was 1.0 or 10, meaningthat the swing angle of the link 101 was displaced greatly by theexternal force. It can be seen that the joint was displaced in the samedirection as the touching force when the link 101 was touched by theobject, meaning that flexible control was achieved in response to thetouch of the object. With increases in the target stiffness r_(s) (i.e.,stiffness command value U₁), the stiffness of the joint was increased,decreasing the amount of displacement of the link in response to thetouch.

It can be seen that this first embodiment allows the stiffness of thelink 101 at the joint to be changed arbitrarily while positioning thelink 101 at the target swing angle r_(a).

For comparison, the contraction force command values u_(e1) and u_(f1)determined using Eq. (7) without regard for the conditions in Eq. (10)are illustrated in FIGS. 6A to 6C. When the conditions in Eq. (10) areignored, the constraint that the actuators e₁ and f₁ generate forcesonly in the contraction direction is not taken into consideration.Consequently, the contraction force command values can take negativevalues as illustrated in FIG. 6B. The actuators e₁ and f₁ do notgenerate forces in the expansion direction and thus a simulation wascarried out by regarding any negative value to be 0.

Consequently, although the link 101 is kept at the target swing angle asillustrated in FIG. 6A, the responses to the stiffness command value U₁are not equal to the target value of 0.4 during the period between 0 and0.3 seconds from the start as well as between 2 and 2.3 seconds from thestart as illustrated in FIG. 6C, meaning that the stiffness of the jointis not kept at the target stiffness.

Second Embodiment

Next, a robot system according to a second embodiment of the presentinvention will be described in detail. FIG. 7 is an explanatory diagramillustrating a schematic configuration of the robot system according tothe second embodiment of the present invention. In this secondembodiment, hand stiffness control of a robot system will be describedtaking as an example a two-link manipulator equipped with three pairs ofmuscles for a total of six muscles based on artificial muscle actuators.

(1) Modeling

The robot system according to the present embodiment, i.e., thetwo-link, three-pair six-muscle manipulator is illustrated in FIG. 7.The robot system 200 includes a first link 201, a second link 202, and apulley 203 serving as a fixing member.

The first link 201 is a longitudinal member. A base end 201 a of thefirst link 201 is swingably supported by the pulley 203 within a plane(hereinafter referred to as a “working plane”) of an x-y orthogonalcoordinate system. The second link 202 is a longitudinal member. A baseend 202 a of the second link 202 is swingably supported at a tip 201 bof the first link 201 within the working plane.

An end effector (such as a hand: not shown) is installed at a tip 202 b(hereinafter referred to as a “link tip”) of the second link 202. Thatis, the first link 201 is placed between a first joint and second jointand swingably supported by the first joint while the second link 202 isswingably supported by the second joint.

Also, the robot system 200 is equipped with a pair of first actuators e₁and f₁, a pair of second actuators e₂ and f₂ and a pair of thirdactuators e₃ and f₃. The first actuators e₁ and f₁ are connected at oneend to the pulley 203 and connected at the other end to the longitudinalcenter of the first link 201, being placed in antagonism to each otherso as to swing the first link 201 using a difference between contractionforces.

Also, the second actuators e₂ and f₂ are connected at one end to thelongitudinal center of the first link 201 and connected at the other endto the base end 202 a of the second link 202, being placed in antagonismto each other so as to swing the second link 202 using a differencebetween contraction forces. Also, the third actuators e₃ and f₃ areconnected at one end to the pulley 203 and connected at the other end tothe base end 202 a of the second link 202, being placed in antagonism toeach other so as to swing the first link 201 and second link 202 using adifference between contraction forces.

Also, the robot system 200 is equipped with a control apparatus 250adapted to adjust the contraction forces of the actuators e₁, f₁, e₂,f₂, e₃ and f₃ based on respective contraction force command values andthereby control the operation of the links 201 and 202.

The first actuators e₁ and f₁ are single-joint driving actuators adaptedto drive the first link 201. The second actuators e₂ and f₂ aresingle-joint driving actuators adapted to drive the second link 202. Thethird actuators e₃ and f₃ are simultaneous two-joint driving actuatorsadapted to simultaneously drive the first link 201 and second link 202.It is known that the upper arms in the upper limbs and thighs in thelower limbs of humans have simultaneous two-joint driving actuatorscalled bi-articular muscles. The four limbs of humans have complicatedmuscle arrangements, but a two-link model having three pairs of musclesfor a total of six muscles has been presented by introducing the conceptof effective muscles.

The actuators e₁, f₁, e₂, f₂, e₃ and f₃ are pneumatic artificial muscleactuators having viscoelastic properties of muscles illustrated inFIG. 1. The artificial muscle actuator has a property similar to aproperty called muscular viscoelasticity. As illustrated in FIG. 1, themuscles are modeled using a force generating element, elasticityelement, and viscosity element.

Let u_(en) and u_(fn), (n=1, 2, 3) denote contraction force commandvalues given to the actuators e₁, f₁, e₂, f₂, e₃ and f₃ in FIG. 7 togenerate the contraction forces of force generating elements. Also, letk_(en), k_(fn), b_(en) and b_(fn) (n=1, 2, 3) denote elastic forceconstants and viscous force constants. Let θ₁ and θ₂ denote the swingangles of the first and second links 201 and 202, let I₁ and I₂ denotethe moments of inertia of the first and second links 201 and 202, let 21₁ and 21 ₂ denote the lengths of the first and second links 201 and 202,and let m₁ and m₂ denote the masses of the first and second links 201and 202.

A first swing angle θ₁ is the swing angle of the first link 201 aroundan x axis serving as a reference axis and a second swing angle θ₂ is theswing angle of the second link 202 around an axis extending in thelongitudinal direction of the first link 201.

Let r denote the length of the moment arm, i.e., the distance between aswing center of the first link 201 and connection points of theactuators e₁ and f₁ with the pulley 203 as well as the distance betweena swing center of the second link 202 and connection points of theactuators e₂ and f₂ with the second link 202.

According to this second embodiment, if k and b are the elastic forceconstant and viscous force constant of each muscle, an equation ofmotion of the two-link manipulator is given by Eqs. (13) and (14) below.

$\begin{matrix}{{{\left( {{m_{1}l_{1}^{2}} + I_{1} + {4\; m_{2}l_{1}^{2}} + {4\; m_{2}l_{1}l_{2}\cos \; \theta_{2}} + {m_{2}l_{2}^{2}} + I_{2}} \right){\overset{¨}{\theta}}_{1}} + {\left( {{m_{2}l_{2}^{2}} + I_{2} + {2\; m_{2}l_{1}l_{2}\cos \; \theta_{2}}} \right){\overset{¨}{\theta}}_{2}} - {2\; m_{2}l_{1}{l_{2}\left( {{2\; {\overset{.}{\theta}}_{1}} + {\overset{.}{\theta}}_{2}} \right)}\sin \; \theta_{2}{\overset{.}{\theta}}_{2}}} = {{\left( {u_{f\; 1} - u_{e\; 1}} \right)r} - {\left( {u_{f\; 1} + u_{e\; 1}} \right){kr}^{2}\theta_{1}} - {\left( {u_{f\; 1} + u_{e\; 1}} \right){br}^{2}{\overset{.}{\theta}}_{1}} + {\left( {u_{f\; 3} - u_{e\; 3}} \right)r} - {\left( {u_{f\; 3} + u_{e\; 3}} \right){{kr}^{2}\left( {\theta_{1} + \theta_{2}} \right)}} - {\left( {u_{f\; 3} + u_{e\; 3}} \right){{br}^{2}\left( {{\overset{.}{\theta}}_{1} + {\overset{.}{\theta}}_{2}} \right)}}}} & (13) \\{{{\left( {{m_{2}l_{2}^{2}} + I_{2} + {2\; m_{2}l_{1}l_{2}\cos \; \theta_{2}}} \right){\overset{¨}{\theta}}_{1}} + {\left( {{m_{2}l_{2}^{2}} + I_{2}} \right){\overset{¨}{\theta}}_{2}} + {2\; m_{2}l_{1}l_{2}\sin \; \theta_{2}{\overset{.}{\theta}}_{1}^{2}}} = {{\left( {u_{f\; 2} - u_{e\; 2}} \right)r} - {\left( {u_{f\; 2} + u_{e\; 2}} \right){kr}^{2}\theta_{2}} - {\left( {u_{f\; 2} + u_{e\; 2}} \right){br}^{2}{\overset{.}{\theta}}_{2}} + {\left( {u_{f\; 3} - u_{e\; 3}} \right)r} - {\left( {u_{f\; 3} + u_{e\; 3}} \right){{kr}^{2}\left( {\theta_{1} + \theta_{2}} \right)}} - {\left( {u_{f\; 3} + u_{e\; 3}} \right){{br}^{2}\left( {{\overset{.}{\theta}}_{1} + {\overset{.}{\theta}}_{2}} \right)}}}} & (14)\end{matrix}$

(2) Control System Design

With the robot system 200 which is a two-link manipulator, the handcomes into direct contact with the outside world, and thus it isimportant to control hand stiffness, i.e., the stiffness of the link tip202 b. The hand stiffness is represented by an ellipse (stiffnessellipse), such as illustrated in FIG. 8, which represents stiffnesscharacteristics which in turn represent the magnitude of stiffness.

In this second embodiment, the x-y orthogonal coordinate system isdefined in the working plane and the stiffness characteristics at thelink tip 202 b is expressed in the x-y orthogonal coordinate system bythe stiffness ellipse having its center at the link tip 202 b. Thestiffness ellipse represents distribution of stiffness in eachdirection, indicating that the larger the distance between the link tip202 b and stiffness ellipse, the higher the stiffness.

FIG. 9 illustrates a block diagram of the control apparatus 250according to this second embodiment. Let r_(a1) denote a first targetswing angle of the first link 201 with respect to the pulley 203 servingas a fixing member and let r_(a2) denote a second target swing angle ofthe second link 202 with respect to the first link 201. Also, let r_(s1)denote target stiffness of the first link 201 at the first joint betweenthe pulley 203 and first link 201 and let r_(s2) denote target stiffnessof the second link 202 at the second joint between the first link 201and second link 202.

The control apparatus 250 is equipped with a first swing angle detectionsensor 51 adapted to detect the first swing angle θ₁ of the first link201 with respect to the pulley 203 and a second swing angle detectionsensor 61 adapted to detect the second swing angle θ₂ of the second link202 with respect to the first link 201. Also, the control apparatus 250is equipped with a touch sensor 52 adapted to output a detection signal,indicating the existence of any external force acting on the second link202.

Also, the control apparatus 250 is equipped with a subtracter 53 andgain adjuster 54 serving as first deviation calculation units, and a PIDcontroller 55 serving as a first torque command generating unit. Also,the control apparatus 250 is equipped with a multiplier 56 serving as afirst multiplication unit adapted to multiply a first stiffness commandvalue U₁ by the moment arm length r₁ from the swing center of the firstlink 201.

Incidentally, in FIG. 9, the moment arm length is set at r₁=r.

Also, the control apparatus 250 is equipped with a saturation circuit 57serving as a first torque command correction unit adapted to correct atorque command value T₁ output from the PID controller 55. Furthermore,the control apparatus 250 is equipped with a first contraction forcecommand value calculating unit 58 adapted to determine contraction forcecommand values u_(e1) and u_(f1) for the actuators e₁ and f₁ bycalculation using the torque command value T₁ and stiffness commandvalue U₁.

Similarly, the control apparatus 250 is equipped with a subtracter 63and gain adjuster 64 serving as second deviation calculation units, anda PID controller 65 serving as a second torque command generating unit.Also, the control apparatus 250 is equipped with a multiplier 66 servingas a second multiplication unit adapted to multiply a second stiffnesscommand value U₂ by the moment arm length r₂ from the swing center ofthe second link 202. Incidentally, in FIG. 9, the moment arm length isset at r₂=r.

Also, the control apparatus 250 is equipped with a saturation circuit 67serving as a second torque command correction unit adapted to correct atorque command value T₂ output from the PID controller 65. Furthermore,the control apparatus 250 is equipped with a second contraction forcecommand value calculating unit 68 adapted to determine contraction forcecommand values u_(e2) and u_(f2) for the actuators e₂ and f₂ bycalculation using the torque command value T₂ and stiffness commandvalue U₂.

The components will be described in detail below. To begin with, theswing angle detection sensors 51 and 61 are sensors such aspotentiometers or encoders. Although not illustrated in FIG. 7, theswing angle detection sensors 51 and 61 are installed at respectivejoints.

The touch sensor 52 is installed on an end effector (such as a hand: notshown) or the second link 202 and adapted to output a detection signalwhen an object touches the end effector or second link 202. That is, anexternal force acting on the second link 202 means that an object is intouch with the end effector or second link 202.

The subtracter 53 calculates a value (r_(a1)−θ₁) which represents afirst deviation (difference) between the first swing angle θ₁ and firsttarget swing angle r_(a1). Similarly, the subtracter 63 calculates avalue (r_(a2)−θ₂) which represents a second deviation (difference)between the second swing angle θ₂ and second target swing angle r_(a2).

The gain adjuster 54 multiplies the output of the subtracter 53, i.e.,the value (r_(a1)−θ₁) which represents the first deviation, by a firstcoefficient value G_(t1) and outputs the product, where the coefficientvalue G_(t1) represents contact gain. Similarly, the gain adjuster 64multiplies the output of the subtracter 63, i.e., the value (r_(a2)−θ₂)which represents the second deviation, by a second coefficient valueG_(t2) and outputs the product, where the coefficient value G_(t2)represents contact gain. The coefficient values G_(t1) and G_(t2) arevalues between 0 and 1. When there is no detection signal from the touchsensor 52, the gain adjusters 54 and 64 set the coefficient values atG_(t1)=1 and G_(t2)=1 and output the values (r_(a1)−θ₁) and (r_(a2)−θ₂)which represent the received deviations.

During a period when a detection signal continues to be output from thetouch sensor 52, the gain adjusters 54 and 64 multiply the values(r_(a1)−θ₁) and (r_(a2)−θ₂) which represent deviations by the respectivecoefficient values G_(t1)=0 and G_(t2)=0 and output new values (i.e.,r_(a1)−θ₁=0, r_(a2)−θ₂=0) which represent the deviations.

The PID controller 55 performs PID control calculations on the value(r_(a1)−θ₁) which represents the first deviation, and thereby generatesthe first torque command value T₁ used to swing the first link 201. Thatis, the PID controller 55 serving as a feedback control system outputsthe first torque command value T₁ used to compensate for the firstdeviation between the first swing angle θ₁ and first target swing angler_(a1) of the first link 201 (i.e., to bring the swing angle θ₁ close tothe target swing angle r_(a1)).

Similarly, the PID controller 65 performs PID control calculations onthe value (r_(a2)−θ₂) which represents the second deviation, and therebygenerates the second torque command value T₂ used to swing the secondlink 202. That is, the PID controller 65 serving as a feedback controlsystem outputs the second torque command value T₂ used to compensate forthe second deviation between the second swing angle θ₂ and second targetswing angle r_(a2) of the second link 202 (i.e., to bring the swingangle θ₂ close to the target swing angle r_(a2)).

A controlling method for the first actuators e₁ and f₁ and secondactuators e₂ and f₂ is the same as the first embodiment described above.Relationships among the contraction force command values u_(en) andu_(fn), nth torque command value T_(n), and nth stiffness command valueU_(n) for the nth actuators e_(n) and f_(n) are given by Eqs. (15) and(16) below (where n=1, 2).

(u _(fn) −u _(en))r _(n) =T _(n) ,n=1,2  (15)

u _(fn) +u _(en) =U _(n) ,n=1,2  (16)

To satisfy the torque command value T₁ and stiffness command value U₁simultaneously, the contraction force command value u_(f1)=(U₁+T₁/r₁)/2and the contraction force command value u_(e1)=(U₁−T₁/r₁)/2 can besatisfied. Also, to satisfy the torque command value T₂ and stiffnesscommand value U₂ simultaneously, the contraction force command valueu_(f2)=(U₂+T₂/r₂)/2 and the contraction force command valueu_(e2)=(U₂−T₂/r₂)/2 can be satisfied.

Besides, each contraction force command value needs to satisfy theconditions in Eq. (17) below.

u _(fn)≧0,u _(en)≧0,n=1,2  (17)

That is, the torque command value T_(n) needs to satisfy the conditionsin Eq. (18) below.

−U _(n) r _(n) ≦T _(n) ≦U _(n) r _(n) ,n=1,2  (18)

Thus, once the conditions in Eq. (18) are satisfied, the stiffnesses ofthe links 201 and 202 at the joint become the target stiffnesses r_(s1)and r_(s2) and the swing angles of the links 201 and 202 are set at thetarget angles r_(a1) and r_(a2) based on the torque command values T₁and T₂.

Thus, according to this second embodiment, the multiplier 56 finds afirst product U₁×r₁ of the moment arm length r₁ and first stiffnesscommand value U₁ and the saturation circuit 57 limits the torque commandvalue T₁ to the values specified by Eq. (19) below, to satisfy Eq. (18).Similarly, the multiplier 66 finds a second product U₂×r₂ of the momentarm length r₂ and second stiffness command value U₂ and the saturationcircuit 67 limits the torque command value T₂ to the values specified byEq. (19) below, to satisfy Eq. (18).

|T _(n) |≦U _(n) r _(n) ,n=1,2  (19)

That is, if the absolute value of the first torque command value T₁generated by the PID controller 55 is equal to or smaller than the firstproduct U₁×r₁, the saturation circuit 57 outputs the first torquecommand value T₁ generated by the PID controller 55, as it is. If theabsolute value of the first torque command value T₁ generated by the PIDcontroller 55 is larger than the first product U₁×r₁, the saturationcircuit 57 generates and outputs a new first torque command value T₁whose absolute value is limited to or below the first product U₁×r₁.

Similarly, if the absolute value of the second torque command value T₂generated by the PID controller 65 is equal to or smaller than thesecond product U₂×r₂, the saturation circuit 67 outputs the secondtorque command value T₂ generated by the PID controller 65, as it is. Ifthe absolute value of the second torque command value T₂ generated bythe PID controller 65 is larger than the second product U₂×r₂, thesaturation circuit 67 generates and outputs a new second torque commandvalue T₂ whose absolute value is limited to or below the second productU₂×r₂.

Incidentally, if a difference is created between contraction forcecommand values u_(e3) and u_(f1) for the third actuators e₃ and f₃,torque can be imparted to the joint as in the case of the first andsecond actuators. However, it is redundant to control a single jointusing multiple position feedback control systems and this willcomplicate the design of the feedback control systems.

Therefore, in this second embodiment, the third actuators e₃ and f₃ areused to give stiffness to respective joints. Thus, if the differencebetween the contraction force command values u_(e3) and u_(f3) is 0 andthe third stiffness command value is U₃, Eq. (20) holds.

u _(f3) −u _(e3)=0

u _(f3) +u _(e3) =U ₃  (20)

When Eq. (20) is solved, the contraction force command values u_(e3) andu_(f3) are as follows:

$\begin{matrix}{u_{f\; 3} = {u_{e\; 3} = \frac{U_{3}}{2}}} & (21)\end{matrix}$

Thus, according to this second embodiment, the control apparatus 250 isequipped with a third contraction force command value calculating unit78 adapted to set the contraction force command values u_(e3) and u_(f1)for the respective third actuators e₃ and f₃ to ½ the third stiffnesscommand value U₃ as illustrated in Eq. (21).

In the case of the single-link manipulator according to the firstembodiment described above, the joint stiffness and hand stiffness areidentical. In the case of the two-link manipulator according to thissecond embodiment equipped with three pairs of muscles for a total ofsix muscles, the hand stiffness can be determined by adjusting thestiffness command values U₁, U₂ and U₃.

For example, if the stiffness command values U₁, U₂ and U₃ are adjustedas follows,

U ₁ =U ₂ =U ₃  (22)

it is known that the major axis of the stiffness ellipse points in thedirection connecting the first joint with the hand.

Now, let us determine stiffness command values U₁, U₂ and U₃ which willcause one of the major axis and minor axis of the stiffness ellipse tobe parallel to an x axis which is a reference axis in the x-y orthogonalcoordinate system.

Let Δx_(t) and Δy_(t) denote very small displacements at the link tip202 b caused by very small external forces ΔF_(X) and ΔF_(y) parallel tothe x axis and y axis, respectively. Also, let Δθ₁ and Δθ₂ denote verysmall rotation angles of the links 201 and 202 caused by the very smallexternal forces ΔF_(X) and ΔF_(y), respectively. When very smallrotations occur, the actuators having muscular viscoelasticity generatevery small torques ΔT_(p1) and ΔT_(p2) in the links due to the elasticforces of muscles as given by Eqs. (23) and (24) below.

ΔT _(p1) ={U ₁Δθ₁ +U ₃(Δθ₁+Δθ₂)}kr ²  (23)

ΔT_(p2) ={U ₂Δθ₂ +U ₃(Δθ₁+Δθ₂)}kr ²  (24)

When the above relationship is represented by a matrix, the relationshipbetween the very small angles and torques is expressed in a stiffnessmatrix K_(s) as shown in Eq. (25) below.

$\begin{matrix}{\begin{bmatrix}{\Delta \; T_{p\; 1}} \\{\Delta \; T_{p\; 2}}\end{bmatrix} = {{\begin{bmatrix}{U_{1} + U_{3}} & U_{3} \\U_{3} & {U_{2} + U_{3}}\end{bmatrix}\begin{bmatrix}{\Delta\theta}_{1} \\{\Delta\theta}_{2}\end{bmatrix}} = {K_{s}\begin{bmatrix}{\Delta\theta}_{1} \\{\Delta\theta}_{2}\end{bmatrix}}}} & (25)\end{matrix}$

Here, the Jacobian matrix J which is given by Eq. (26) below will beintroduced.

$\begin{matrix}{{J\left( {\theta_{1},\theta_{2}} \right)} = \begin{bmatrix}{{{- 2}\; l_{1}\sin \; \theta_{1}} - {2\; l_{2}{\sin \left( {\theta_{1} + \theta_{2}} \right)}}} & {{- 2}\; l_{2}{\sin \left( {\theta_{1} + \theta_{2}} \right)}} \\{{2\; l_{1}\cos \; \theta_{1}} + {2\; l_{2}{\cos \left( {\theta_{1} + \theta_{2}} \right)}}} & {2\; l_{2}{\cos \left( {\theta_{1} + \theta_{2}} \right)}}\end{bmatrix}} & (26)\end{matrix}$

Consequently, the relationship between the very small hand displacementsand very small external forces is expressed in a compliance matrix J_(S)as shown in Eq. (27) below.

$\begin{matrix}\begin{matrix}{\begin{bmatrix}{\Delta \; x_{t}} \\{\Delta \; y_{t}}\end{bmatrix} = {{- {J\left( {\theta_{1},\theta_{2}} \right)}}K_{S}^{- 1}{{J^{T}\left( {\theta_{1},\theta_{2}} \right)}\begin{bmatrix}{\Delta \; F_{x}} \\{\Delta \; F_{y}}\end{bmatrix}}}} \\{= {{J_{S}\left( {\theta_{1},\theta_{2},U_{1},U_{2},U_{3}} \right)}\begin{bmatrix}{\Delta \; F_{x}} \\{\Delta \; F_{y}}\end{bmatrix}}}\end{matrix} & (27)\end{matrix}$

Since the inverse matrix of the compliance matrix represents stiffness,the condition that the axes of the stiffness ellipse are parallel to thex and y axes is given by

J _(S)(1,2)=J _(S)(2,1)=0  (28)

when the equation is solved for the stiffness command value U₃,

$\begin{matrix}{U_{3} = {- \frac{\begin{matrix}{{U_{2}\left( {{l_{2}^{2}\sin \; 2\left( {\theta_{1} + \theta_{2}} \right)} + {2\; l_{1}l_{2}{\sin \left( {{2\theta_{1}} + \theta_{2}} \right)}} + {l_{1}^{2}\sin \; 2\theta_{1}}} \right)} +} \\{U_{1}l_{2}^{2}\sin \; 2\left( {\theta_{1} + \theta_{2}} \right)}\end{matrix}}{l_{1}^{2}\sin \; 2\theta_{1}}}} & (29)\end{matrix}$

For cases where the touch sensor 52 does not output a detection signal(when the touch sensor 52 is off), operation of the control apparatus250 will be described below with reference to FIG. 9. To begin with, thefirst swing angle detection sensor 51 detects the first swing angle θ₁of the first link 201 (first swing angle detection step). Similarly, thesecond swing angle detection sensor 61 detects the second swing angle θ₂of the second link 202 (second swing angle detection step).

Then, the subtracter 53 calculates the value (r_(a)−θ₁) which representsthe first deviation between the first swing angle θ₁ and first targetswing angle r_(a1) of the first link 201 (first deviation calculationstep). Similarly, the subtracter 63 calculates the value (r_(a2)−θ₂)which represents the second deviation between the second swing angle θ₂and second target swing angle r_(a2) of the second link 202 (seconddeviation calculation step).

Since the touch sensor 52 is off, the gain adjusters 54 and 64 set themultiplier factors, i.e., the coefficient values G_(t1) and G_(t2), to1, and output the values (r_(a1)−θ₁) and (r_(a2)−θ₂) which represent thedeviations, as they are.

The PID controller 55 performs PID control calculations on the value(r_(a1)−θ₁) of deviation acquired from the gain adjuster 54 and therebygenerates the first torque command value T₁ used to swing the first link201 (first torque command generating step). Similarly, the PIDcontroller 65 performs PID control calculations on the value (r_(a2)−θ₂)of deviation acquired from the gain adjuster 64 and thereby generatesthe second torque command value T₂ used to swing the second link 202(second torque command generating step).

The multiplier 56 acquires the first stiffness command value U₁ and themoment arm length r₁ of the first link 201 and calculates the firstproduct U₁×r₁ thereof (first multiplication step). Similarly, themultiplier 66 acquires the second stiffness command value U₂ and themoment arm length r₂ of the second link 202 and calculates the secondproduct U₂×r₂ thereof (second multiplication step).

If the absolute value of the first torque command value T₁ generated bythe PID controller 55 is equal to or smaller than the first productU₁×r₁, the saturation circuit 57 outputs the first torque command valueT₁ generated by the PID controller 55, as it is. If the absolute valueof the first torque command value T₁ generated by the PID controller 55is larger than the first product U₁×r₁, the saturation circuit 57generates and outputs a new first torque command value T₁ whose absolutevalue is limited to or below the first product U₁×r₁ (first torquecommand correction step). Incidentally, in FIG. 9, the moment arm lengthis set at r₁=r.

Specifically, the saturation circuit 57 outputs a new first torquecommand value T₁ whose absolute value is equal to the product U₁×r₁. Forexample, if the first torque command value T₁ generated by the PIDcontroller 55 is larger than U₁×r₁, the new first torque command valueT₁ is set equal to U₁×r₁. On the other hand, if the first torque commandvalue T₁ generated by the PID controller 55 is smaller than −U₁×r₁, thenew torque command value T₁ is set equal to −U₁×r₁. Consequently, thefirst torque command value T₁ is limited to Eq. (18), and thus the finalcontraction force command values u_(e1) and u_(f1) do not becomenegative.

Similarly, if the absolute value of the second torque command value T₂generated by the PID controller 65 is equal to or smaller than thesecond product U₂×r₂, the saturation circuit 67 outputs the secondtorque command value T₂ generated by the PID controller 65, as it is. Ifthe absolute value of the second torque command value T₂ generated bythe PID controller 65 is larger than the second product U₂×r₂, thesaturation circuit 67 generates and outputs a new second torque commandvalue T₂ whose absolute value is limited to or below the second productU₂×r₂ (second torque command correction step). Incidentally, in FIG. 9,the moment arm length is set at r₂=r.

Then, the first contraction force command value calculating unit 58finds the contraction force command values u_(e1) and u_(f1) using thecalculation formulae (U₁+T₁/r₁)/2, (U₁−T₁/r₁)/2 based on the firsttorque command value T₁ output from the saturation circuit 57 (firstcontraction force command value calculating step). Similarly, the secondcontraction force command value calculating unit 68 finds thecontraction force command values u_(e2) and u_(f2) using the calculationformulae (U₂+T₂/r₂)/2, (U₂−T₂/r₂)/2 based on the second torque commandvalue T₂ output from the saturation circuit 67 (second contraction forcecommand value calculating step).

Thus, as the contraction force command values u_(e1) and u_(f1) are setby the feedback control, the swing angle θ₁ of the link 201 is adjustedto the target swing angle r_(a1) and the stiffness of the link 201 atthe first joint is adjusted to the target stiffness r_(s1) (=U₁×k×r₁ ²).Similarly, as the contraction force command values u_(e2) and u_(f2) areset by the feedback control, the swing angle θ₂ of the link 202 isadjusted to the target swing angle r_(a2) and the stiffness of the link202 at the second joint is adjusted to the target stiffness r_(s2)(=U₂×k×r₂ ²).

Consequently, the angle and stiffness of the links 201 and 202 can becontrolled simultaneously using feedback control simpler than feedforward control. This eliminates the need for iterative calculationsrequired by feed forward control even if the target swing angles andtarget stiffness (i.e., stiffness command values U₁ and U₂) of the links201 and 202 are changed, and thereby allows the swing angles andstiffness of the links to be adjusted quickly to the target values.

During a period when the touch sensor 52 continues to output a detectionsignal by sensing an external force acting on the first link 201, thegain adjuster 54 produces an output by multiplying the value (r_(a1)−θ₁)which represents the first deviation by the first coefficient valueG_(t1)=0. That is, the gain adjuster 54 calculates and outputs a newvalue (r_(a1)−θ₁=0) which indicates that there is no deviation even ifthere actually is a deviation.

Similarly, during a period when the touch sensor continues to output adetection signal by sensing an external force acting on the second link202, the gain adjuster 64 produces an output by multiplying the value(r_(a2)−θ₂) which represents the second deviation by the secondcoefficient value G_(t2)=0. That is, the gain adjuster 64 calculates andoutputs a new value (r_(a2)−θ₂=0) which indicates that there is nodeviation even if there actually is a deviation.

Consequently, even if a deviation occurs actually under the action of anexternal force, the PID controllers 55 and 65 regard that the deviationis 0 and output the same torque command values T₁ and T₂ as just beforethe detection of the detection signal, causing the stiffness of thelinks 201 and 202 to be kept at the target stiffness. Thus, even if anexternal force acts on the links 201 and 202, the coefficient values areset quickly to G_(t1)=0 and G_(t2)=0, causing the feedback controlsystem to be shut off and thereby maintaining the flexibility of thelinks 201 and 202.

When the touch sensor 52 is switched off, the coefficient values on thegain adjusters 54 and 64 are switched to G_(t1)=1 and G_(t2)=1,respectively, and consequently feedback control is performed based onthe actual deviations (r_(a1)−θ₁) and (r_(a2)−θ₂).

(3) Simulation

A simulation was performed using the control apparatus 250 illustratedin FIG. 9. Physical parameters of the first link 201 and second link 202were identical. The length of the links 201 and 202 was 0.5 [m], themoment of inertia of the links 201 and 202 was set to 8.3×10⁻² [kgm²],the moment arm length r(=r₁=r₂) was set to r=0.1 [m], the elastic forceconstant was set to k=3, and the viscous force constant was set to b=3.

The first and second target swing angles were ramped, and the first link201 was set to reach r_(a1)=35 [deg] in 2 seconds starting from aninitial angle of 45 [deg] while the second link 202 was set to reachr_(a1)=85 [deg] in 2 seconds starting from an initial angle of 90 [deg].

At the target angles at which the links were positioned, the stiffnesscommand values U₁, U₂ and U₃ of the actuators were controlled such thatthe axes of the stiffness ellipse at the link tip 202 b would beparallel to the x and y axes. The stiffness command values U₁ and U₂ forthe single-joint driving actuators were set arbitrarily at U₁=10 andU₂=5. The stiffness command value U₃ for the two-joint driving actuatorscan be controlled to be U₃=1.907 based on Eq. (29).

In FIGS. 10A and 10B, the swing angles θ₁ and θ₂ of the first and secondlinks 201 and 202 are indicated by solid lines and the target swingangles r_(e1) and r_(a2) are indicated by broken lines. Also, in FIGS.11A to 11C, responses to the contraction force command values u_(f1),u_(f2) and u_(f1) are indicated by solid lines and responses to thecontraction force command values u_(e1), u_(e2) and u_(e3) are indicatedby broken lines. Furthermore, in FIGS. 12A to 12C, the differencesbetween the responses to the contraction force command values u_(en) andu_(fn) (n=1, 2, 3) are indicated by solid lines, the sums of theresponses are indicated by broken lines, and responses to T_(n)/r (n=1,2) are indicated by dashed lines.

First, it can be seen from FIGS. 10A and 10B that the links 201 and 202are positioned at the target swing angles. Next, it can be seen fromFIG. 11A that the contraction force command values u_(e1) and u_(f1) areallocated using the calculation formulae (U₁+T₁/r)/2, (U₁−T₁/r)/2 withthe torque command value T₁ limited to |T₁|≦U₁×r. This satisfies aproperty of the contraction forces of the first actuators e₁ and f₁according to which the contraction forces take positive values.

It can be seen from FIG. 11B that the contraction forces of the secondactuators e₂ and f₂ also take positive values. Also, it can be seen fromFIG. 11C that the contraction forces of the third actuators e₃ and f₃take a fixed value of U₃/2.

In FIG. 12A, the u_(f1) u_(e1) response indicated by a solid linecoincides with the T₁/r response indicated by a dashed line, satisfyingthe conditions of Eq. (15). Also, the response of u_(f1)+u_(e1)=U₁indicated by a broken line always takes a set value of 10.

Similarly, in FIG. 12B, the u_(f2)−u_(e2) response indicated by a solidline coincides with the T₂/r response indicated by a dashed line,satisfying the conditions of Eq. (15). Also, the response ofu_(f2)+u_(e2)=U₂ indicated by a broken line always takes a set value of5.

Furthermore, the u_(f3)−u_(e3) response indicated by a solid line inFIG. 12C is 0, satisfying the conditions of Eq. (20). Also, the responseof u_(f3)+u_(e3)=U₃ indicated by a broken line always takes 1.907. Sincethe stiffness produced by antagonistic pairs of actuators is kept at thetarget values, it can be seen that the axes of the stiffness ellipse atthe link tip 202 b are kept parallel to the x and y axes at the targetangles.

Next, a simulation was carried out assuming that the link tip 202 b waspushed by an external force. When the links 201 and 202 were stabilizedat the target angles, an external force in the negative Y direction wasapplied to the link tip 202 b. While there was touch, the coefficientvalues G_(t1) and G_(t2) were set to 0.

In FIG. 13, a locus of the link tip 202 b is indicated by a broken lineand a target trajectory for positioning is indicated by a dotted line.In the positioning, the target trajectory is followed. If thecoefficient values G_(t1) and G_(t2) are set to 0 when touch occurs, thehand stiffness of the manipulator is controlled by the viscoelasticityof the artificial muscle actuators. According to this second embodiment,the stiffness command values U₁, U₂ and U₃ are set such that the handstiffness will be parallel to the x and y axes and the contractionforces of the six muscles (three pairs) are controlled so as to satisfythe set values. Thus, the hand shows flexibility in a direction parallelto the y axis in response to disturbances in the negative Y direction.

Third Embodiment

Next, a robot system according to a third embodiment of the presentinvention will be described. FIG. 14 is a block diagram illustrating acontrol apparatus for the robot system according to the third embodimentof the present invention. In this third embodiment, the same componentsas those in the second embodiment are denoted by the same referencenumerals as the corresponding components in the second embodiment, anddescription thereof will be omitted.

The second embodiment described above realizes hand stiffness controlusing the elasticity of muscles as follows: after the joint reaches thetarget angles, the coefficient values G_(t1) and G_(t2) which representcontact gain are set to 0, causing the feedback control system to beshut off. However the second embodiment is not designed to giveflexibility to the links while following the target trajectory. Also,the axes of the stiffness ellipse are controlled to be parallel to the xand y axes only at the target angles.

(1) Control System Design

This third embodiment performs stiffness control while simultaneouslycausing the link tip 202 b to follow a target trajectory. Also, thisthird embodiment keeps the axes of the stiffness ellipse parallel to thex and y axes even while the target trajectory is being followed.

A control apparatus 250A illustrated in FIG. 14 is equipped with acalculating unit 70. The calculating unit 70 calculates the thirdstiffness command value U₃ using the calculation formula given by Eq.(30) below so that the axes of the stiffness ellipse will always beparallel to the x and y axes according to the target swing angles(target trajectories) r_(a1) and r_(a2) of the first and second links201 and 202.

$\begin{matrix}{U_{3} = {- \frac{\begin{matrix}{{U_{2}\left( {{l_{2}^{2}\sin \; 2\left( {r_{a\; 1} + r_{a\; 2}} \right)} + {2\; l_{1}l_{2}{\sin \left( {{2r_{a\; 1}} + r_{a\; 2}} \right)}} + {l_{1}^{2}\sin \; 2\; r_{a\; 1}}} \right)} +} \\{U_{1}l_{2}^{2}\sin \; 2\left( {r_{a\; 1} + r_{a\; 2}} \right)}\end{matrix}}{l_{1}^{2}\sin \; 2\; r_{a\; 1}}}} & (30)\end{matrix}$

That is, using the calculation formula, the calculating unit 70 computesthe stiffness command value U₃ which will cause one of the major axisand minor axis of the stiffness ellipse at the link tip 202 b to beparallel to a reference axis (e.g., the x axis) in the x-y orthogonalcoordinate system illustrated in FIG. 8. The calculation formula givenby Eq. (30) computes the third stiffness command value U₃ using thefirst stiffness command value U₁, second stiffness command value U₂,first target swing angle r_(a1) and second target swing angle r_(a2) asvariables.

After accepting input of the parameters U₁, U₂, r_(a1) and r_(a2), thecalculating unit 70 calculates the third stiffness command value U₃based on the calculation formula given by Eq. (30) (calculation step).Then, the third contraction force command value calculating unit 78 setsthe contraction force command values u_(e3) and u_(f3) to ½ the thirdstiffness command value U₃ (third contraction force command valuecalculation step). Consequently, when the links 201 and 202 are causedto swing based on the respective target swing angles r_(a1) and r_(a2),the axes of the stiffness ellipse are kept to be parallel to the x and yaxes.

Furthermore, according to this third embodiment, during a period when adetection signal continues to be output from the touch sensor 52, thecoefficient values G_(t1) and G_(t2) of the gain adjusters 54 and 64 cantake any value between 0 and 1 as shown in Eq. (31) below.

0≦G _(tn)≦1,n=1,2  (31)

As long as the coefficient values G_(t1) and G_(t2) are very small,although the axes of the stiffness ellipse tilt very slightly from the xand y axes, the links 201 and 202 can follow respective targettrajectories when being touched by an object.

In particular, desirably the first coefficient value G_(t1) and secondcoefficient value G_(t2) are set to increase with time beginning withthe start of the period during which a detection signal continues to beoutput from the touch sensor 52.

Suppose, for example, a detection signal continues to be output from thetouch sensor 52 between the 4th second and the 8th second as illustratedin FIG. 15. The coefficient values G_(t1) and G_(t2) are set to increasewith time during the period beginning with the 4th second. In theexample illustrated in FIG. 15, the coefficient values G_(t1) and G_(t2)are set to increase stepwise.

According to this third embodiment, the coefficient values G_(t1) andG_(t2) are set not to become 0 even during a period when a detectionsignal continues to be output from the touch sensor 52, and are set toreach 1 after a predetermined time. Consequently, the instant an objecttouches the second link 202 or end effector, the coefficient valuesG_(t1) and G_(t2) are set smaller than 1 to maintain the flexibility ofthe links 201 and 202. Since the coefficient values G_(t1) and G_(t2)are not 0, although the axes of the stiffness ellipse tilt very slightlyfrom the x and y axes, the links 201 and 202 can follow the respectivetarget trajectories when being touched by an object.

After the predetermined time, the coefficient values G_(t1) and G_(t2)are set to 1 even if there is touch, and the links 201 and 202 areadjusted to the target swing angles and target stiffness. Thus, thelinks 201 and 202 maintain flexibility at the moment of touch, and arethen positioned quickly at target positions. This improvescontrollability.

(2) Simulation

A simulation was carried out using the control apparatus 250Aillustrated in FIG. 14. The physical parameters of the links 201 and 202were the same as the second embodiment described above. The targettrajectories (target swing angles) were similar to those in the secondembodiment up to 5 seconds from the start.

Then, the target trajectories (target swing angles) r_(a1) and r_(a2) ofthe links 201 and 202 were determined by inverse kinematics such thatthe trajectory of the link tip 202 b would be a linear trajectoryparallel to the x axis up to the 11th second. The artificial muscleactuators were controlled based on the stiffness command values U₁, U₂and U₃ so that the axes of the stiffness ellipse at the link tip 202 bwould always be parallel to the x and y axes. The stiffness ofsingle-joint driving actuators in terms of the stiffness command valueswere U₁=10 and U₂=5 as in the case of the first embodiment, and thestiffness command value U₃ was determined sequentially using Eq. (30).It was assumed that touch occurred during the period from the 4th secondto the 8th second. The coefficient values G_(t1) and G_(t2) were set tovalues other than 0 as illustrated in FIG. 15.

In FIG. 16A, the angle θ₁ of the first link 201 is indicated by a solidline and the target angle r_(a1) is indicated by a dashed line. In FIG.16B, the angle θ₂ of the second link 202 is indicated by a solid lineand the target angle r_(a2) is indicated by a dashed line. Besides,control response obtained in the second embodiment by setting thecoefficient values G_(t1) and G_(t2) always to 0 when there is touch(hereinafter referred to as “zero contact gain control”) are indicatedby broken lines for comparison. Furthermore, the difference betweenu_(e3) and u_(f1) and the sum of u_(e3) and u_(f3) are indicated by asolid line and broken line, respectively, in FIG. 17.

As can be seen from FIGS. 16A and 16B, with the control apparatus 250Aaccording to this third embodiment, when touch occurs at the 4th second,the feedback control system is shut off and the link tip 202 b becomesflexible. Then, the feedback control system is reactivated by settingthe coefficient values to 1 at the 6th second in the case of the firstlink 201 and at the 7th second in the case of the second link 202, andthus the trajectories of the links 201 and 202 converge into the targettrajectories at the 8th second and later.

On the other hand, with the zero contact gain control indicated by abroken line, the feedback control system is shut off until the 8thsecond after touch occurs. A tendency to return to the targettrajectories occur abruptly in response to angular deviations at the 8thsecond and later, resulting in a large overshoot.

The value u_(f3)+u_(e3)=U₃ indicated by a broken line in FIG. 17 iscalculated sequentially according to the target angles r_(a1) and r_(a2)as shown in Eq. (30). Consequently, the axes of the stiffness ellipseare controlled to be parallel to the x and y axes when trajectories arebeing followed.

In FIG. 18A, the locus of the link tip 202 b is indicated by a brokenline and a target trajectory for positioning is indicated by a dottedline. For comparison, the locus of the link tip 202 b and a targettrajectory for positioning during zero contact gain control areindicated by a broken line and dotted line, respectively, in FIG. 18B.

It can be seen that with the control apparatus 250A according to thisthird embodiment, the link tip 202 b becomes flexible after a touchoccurs, but performs trajectory following to follow a trajectory in adirection parallel to the x axis at the same time. It can be seen thatwith the zero contact gain control, which does not perform trajectorycontrol while there is touch, the link tip 202 b has high flexibility,but deviates greatly from the target trajectory.

Fourth Embodiment

Next, a robot system according to a fourth embodiment of the presentinvention will be described. FIG. 19 is a block diagram illustratingprincipal parts of a control apparatus for the robot system according tothe fourth embodiment of the present invention. In this fourthembodiment, the same components as those in the second and thirdembodiments are denoted by the same reference numerals as thecorresponding components in the second and third embodiments, anddescription thereof will be omitted.

In the second embodiment described above, an input unit of the feedbackcontrol system is shut off. However, if the joint is not completelystabilized, spikes could be produced in the torque command values whenthe input unit is shut off. In the second and third embodimentsdescribed above, the PID controller 55 serves as the first torquecommand generating unit and the PID controller 65 serves as the secondtorque command generating unit, but in this fourth embodiment, the firsttorque command generating unit and second torque command generating unitdiffer in configuration.

Specifically, a first torque command generating unit 455 includes thePID controller 55 and a gain adjuster 55A installed on the output sideof the PID controller 55 and adapted to multiply calculation resultsoutput from the PID controller 55 by the first coefficient value G_(t1).

Also, the first torque command generating unit 455 includes a gainadjuster 55B adapted to receive a control input of the PID controller 55as a feed forward input ffw₁ and multiply the input ffw₁ by the value of(1−G_(t1)). Furthermore, the first torque command generating unit 455includes an adder 55C adapted to add an output value of the gainadjuster 55A and output value of the gain adjuster 55B and output anaddition result as the first torque command value T₁.

A second torque command generating unit 465, which is identical inconfiguration to the first torque command generating unit 455, will bedescribed below with reference to FIG. 19. The second torque commandgenerating unit 465 includes the PID controller 65 and a gain adjuster65A installed on the output side of the PID controller 65 and adapted tomultiply calculation results output from the PID controller 65 by thesecond coefficient value G_(t2).

Also, the second torque command generating unit 465 includes a gainadjuster 65B adapted to receive a control input of the PID controller 65as a feed forward input ffw₂ and multiply the input ffw₂ by the value of(1−G_(t2)). Furthermore, the second torque command generating unit 465includes an adder 65C adapted to add an output value of the gainadjuster 65A and output value of the gain adjuster 65B and output anaddition result as the second torque command value T₂.

The feed forward inputs ffw_(n) (n=1, 2) are results of PID controlcalculations output by the PID controllers 55 and 65 just before thetouch sensor 52 outputs a detection signal.

Consequently, during the period when a detection signal continues to beoutput from the touch sensor 52, the PID controller 55 performs PIDcontrol calculations on the value (r_(a1)−θ₁) which represents the firstdeviation and the gain adjuster 55A multiplies the calculation resultsby the first coefficient value G_(t1). The gain adjuster 55B receivesthe feed forward input ffw₁ and multiplies the input ffw₁ by the valueof (1−G_(t1)). The adder 55C adds the output value of the gain adjuster55A and output value of the gain adjuster 55B and outputs the additionresult as the first torque command value T₁.

Similarly, during the period when a detection signal continues to beoutput from the touch sensor 52, the PID controller 65 performs PIDcontrol calculations on the value (r_(a2)−θ₂) which represents thesecond deviation and the gain adjuster 65A multiplies the calculationresults by the second coefficient value G_(t2). The gain adjuster 65Breceives the feed forward input ffw₂ and multiplies the input ffw₂ bythe value of (1−G_(t2)). The adder 65C adds the output value of the gainadjuster 65A and output value of the gain adjuster 65B and outputs theaddition result as the second torque command value T₂.

To take a concrete example, when the touch sensor 52 detects a touch andthe coefficient values G_(tn) become 0, then (1−G_(tn))=1, and thetorque command values T_(n) output by the torque command generatingunits 455 and 465 become equal to the values just before touch sensor 52detects the touch.

Thus, if a touch is detected by the touch sensor during operation of thelinks 201 and 202, feedback control is performed using the torquecommand values based on the deviations immediately preceding the touchinstead of using the torque command values corresponding to zerodeviations. Incidentally, the coefficient values G_(t1) and G_(t2) maybe increased with the passage of time after detection of the detectionsignal as in the case of the third embodiment described above. Besides,G_(t1) and G_(t2) may be set to a value smaller than 1, but not smallenough to become 0 immediately upon touch.

Thus, this fourth embodiment can prevent spikes in the torque commandvalues T₁ and T₂ during operation of the links 201 and 202 withoutimpairing the flexibility of the links 201 and 202, and thereby furtherimprove controllability.

Fifth Embodiment

Next, a robot system according to a fifth embodiment of the presentinvention will be described. The robot systems described above in thefirst to fourth embodiments are manipulators serving as working robots,but the control apparatus described in the first to fourth embodimentsmay also be used for leg control of a walking robot.

With the walking robot, stability of walking on an uneven ground surfacecan be increased if the stiffness of legs is reduced when the legs touchthe ground. Also, if the stiffness ellipse is made parallel to theground when the legs touch the ground, slippage on the ground can bereduced. However, in a stance phase, it is necessary to support the bodyby increasing the stiffness of the legs.

On the other hand, FIG. 20 illustrates a stick diagram of simulationresults produced by the application of simultaneous control of stiffnessand following according to the third embodiment described above. Abroken line indicates a trajectory of a toe and a dotted line indicatesa target trajectory. As can be seen from the diagram, when the legtouches the ground, the stiffness of the leg is low and the leg touchesthe ground softly, but with the advance of the stance phase, thestiffness of the leg increases and the toe follows the targettrajectory.

Sixth Embodiment

Next, a robot system according to a sixth embodiment of the presentinvention will be described. In the first to fifth embodiments describedabove, simultaneous control of positioning and stiffness are performedusing artificial muscle actuators placed in antagonism to each other. Inthis sixth embodiment, the control system according to the presentinvention is applied to a single-link arm which uses a rotating motorfor a joint.

In the configuration of the robot system, the actuators e₁ and f₁illustrated in FIG. 2 are replaced by a rotating motor P₀ and motorcircuit P₁ illustrated in the block diagram of FIG. 21. Referring toFIG. 2, the rotating motor P_(o) is a driving unit adapted to drive thelink 101 by being placed at the joint between the arm member 104 servingas a fixing member and the link 101. An equation of motion of thesingle-link arm is given by Eq. (32) below.

I{umlaut over (θ)}=u _(m)  (32)

where u_(m) is control torque generated by the rotating motor. Next, letk denote proportional gain, let b denote differential gain, let r denotevirtual moment arm length, and let u_(e1) and u_(f1) denote virtualcontraction force command values to generate a contraction force of amuscle, and a proportional-differential feedback control system for thesingle-link arm is given by Eq. (33) below.

u _(m)=(u _(f1) −u _(e1))r−(u _(f1) +u _(e1))kr ²θ−(u _(f1) +u _(e1))br²{dot over (θ)}  (33)

In the equation of the proportional-differential feedback controlsystem, the first term is a torque command value and the second andthird terms are the contraction force command values u_(e1) and u_(f1)for virtual muscles which cause the gains to vary.

The motor circuit P₁ illustrated in FIG. 21 is a feedback control systemdefined by Eqs. (32) and (33). The motor circuit P₁ accepts input of thecontraction force command values u_(e1) and u_(f1) and outputs the swingangle θ₁ of the link 101. Eqs. (32) and (33) are identical to Eq. (2)which provides the equation of motion of the single-link arm usingartificial muscle actuators in the first embodiment. Thus, it can beseen that by applying proportional-differential feedback such asillustrated in Eq. (33), the method for simultaneous control of positionand stiffness illustrated in the first embodiment can be applied as itis to a single-link arm which uses a rotating motor.

Specifically, the motor circuit P₁ illustrated in FIG. 21 is configuredsuch that the rotating motor P₀ can be regarded as a pair of virtualactuators adapted to swing the link 101 using the difference betweencontraction forces. A control apparatus of the same configuration as thecontrol apparatus 150 illustrated in FIG. 3 controls the operation ofthe link 101 by adjusting the contraction forces of the virtualactuators based on the respective contraction force command valuesu_(e1) and u_(f1).

Now, the operation of various components of the control apparatus willbe described with reference to FIG. 3. The subtracter 3 serving as adeviation calculation unit calculates a value which represents adeviation (difference) between the swing angle θ₁ of the link 101 withrespect to the arm member 104 and the target swing angle r_(a)(deviation calculation step).

The PID controller 5 serving as a torque command generating unitperforms PID control calculations on the value which represents adeviation and thereby generates the torque command value T₁ used toswing the link 101 (torque command generating step).

The multiplier 6 serving as a multiplication unit multiplies the lengthr of a virtual moment arm from the swing center of the link 101 by thestiffness command value U₁ which represents the sum of the contractionforce command values U_(e1) and u_(f1) and thereby calculates theproduct U₁×r (multiplication step).

If the absolute value of the torque command value T₁ generated by thePID controller 5 is equal to or smaller than the product U₁×r, thesaturation circuit 7 serving as a torque command correction unit outputsthe torque command value T₁ generated by the PID controller 5, as it is.If the absolute value of the torque command value T₁ generated by thePID controller 5 is larger than the product U₁×r, the saturation circuit7 generates and outputs a new torque command value T₁ whose absolutevalue is limited to or below the product U₁×r (torque command correctionstep).

Then, the contraction force command value calculating unit 8 finds thecontraction force command values u_(e1) and u_(f1) using the calculationformula (U₁+T₁/r)/2, (U₁−T₁/r)/2 based on the torque command value T₁output from the saturation circuit 7 (contraction force command valuecalculating step).

Consequently, the angle of the link 101 and stiffness of the link 101 atthe joint can be controlled simultaneously using feedback controlsimpler than feed forward control. This eliminates the need foriterative calculations even if target values for the swing angle andstiffness of the link 101 are changed, and thereby allows the swingangle and stiffness of the link 101 to be adjusted quickly to the targetvalues.

Also, according to this sixth embodiment, the control apparatus includesthe gain adjuster 4. During the period when a detection signal continuesto be output from the touch sensor 2, the gain adjuster 4 multiplies thevalue which represents the deviation by 0 and thereby calculates a newvalue (r_(a)−θ₁=0) which represents the deviation. Consequently, even ifa deviation occurs actually under the action of an external force, thePID controller 5 regards that the deviation is 0 and outputs the sametorque command value T₁ as just before the detection of the detectionsignal, causing the stiffness of the link 101 to be kept at the targetstiffness r_(s). Thus, even if an external force acts on the link 101,the coefficient value is set quickly to G_(t)=0, causing the feedbackcontrol system to be shut off and thereby maintaining the flexibility ofthe link 101.

Seventh Embodiment

In the first to sixth embodiments, a saturation function indicated by abroken line in FIG. 22 is actually used to impose the limitations oncontrol input illustrated in Eqs. (11) and (21). However, if controlinput is limited using an indifferentiable function such as a saturationfunction, the control input will vary sharply when limited. Such controlinput might create higher vibrations in a controlled mechanical system,making the control system unstable. Thus, the present embodiment uses ahyperbolic tangent function, which is differentiable, to limit thecontrol input. The hyperbolic tangent function is indicated by a solidline in FIG. 22. The feedback control torque T_(tn) limited by thehyperbolic tangent function can be expressed as follows using the torqueT_(n) before limiting, a sum U_(n) of control inputs, and pulleydiameter r.

$\begin{matrix}{T_{tn} = {U_{n}r\; {\tanh \left( \frac{T_{n}}{U_{n}r} \right)}}} & (37)\end{matrix}$

Control of a single-link arm has been handled in the first embodiment.In the present embodiment, a simulation is carried out using ahyperbolic tangent function instead of the saturation function used inthe first embodiment and illustrated in the block diagram of FIG. 3.FIG. 23A illustrates an angle θ₁ and target angle r_(a) of a joint,where a solid line indicates a response in terms of a joint angle whenthe hyperbolic tangent function is used, a broken line indicates aresponse in terms of a joint angle when the saturation function is used,and a dotted line indicates the target angle. FIG. 23B illustratesresponses in terms of the contraction force u_(f1), where a solid lineindicates a response obtained using the hyperbolic tangent function tolimit the control input while a dotted line indicates a responseobtained using the saturation function to limit the control input. Thecontraction force u_(f1) is determined based on torque T₁ using Eq. (7).Thus, it can be seen that during the period between about second 0.7 andsecond 2.5 during which the torque T₁ is limited, there is no sharpvariation in the response indicated by a solid line, i.e., the responsein the contraction force u_(f1) obtained using the hyperbolic tangentfunction for the limitation. Also, it can be seen from FIG. 23A thatthere is no degradation in positioning performance even when thehyperbolic tangent function is used to saturate the control input.

Control of a two-link arm has been handled in the second embodiment. Aswith the control of a single-link arm, in the present embodiment, asimulation is carried out using a hyperbolic tangent function instead ofthe saturation function used in the second embodiment and illustrated inthe block diagram of FIG. 9. FIGS. 24A and 24B illustrate joint anglesθ₁ and θ₂ and target angles r_(at) and r_(a2) of the first and secondlinks, where solid lines indicate responses when the hyperbolic tangentfunction is used, broken lines indicate responses when the saturationfunction is used, and dotted lines indicate the target angles. Also,FIGS. 25A and 25B illustrate responses in the contraction forces U_(f1)and u_(f2), where solid lines indicate responses obtained using thehyperbolic tangent function while dotted lines indicate responsesobtained using the saturation function. It can be seen from FIG. 25Athat during the period between about second 0.2 and second 2.2 duringwhich the torque T₁ on the first link is limited, there is no sharpvariation in the response in the contraction force u_(f1) obtained usingthe hyperbolic tangent function. In the second embodiment, since thetorque T₂ on the second link is within limits, there is no need to limitthe contraction force u_(f2). However, as can be seen from FIG. 22, thehyperbolic tangent function has the effect of reducing the signal evenwithin limits. Thus, although the contraction force u_(f2) based on thehyperbolic tangent function according to the present embodimentillustrated in FIG. 25B differs slightly from the contraction forcebased on the saturation function, it can be seen from FIGS. 24A and 24Bthat the positioning performance remains unchanged even if thehyperbolic tangent function is used.

Eighth Embodiment

In the fifth embodiment, the simultaneous control of stiffness andfollowing according to the third embodiment is used for leg control of awalking robot. However, with the controlling method according to thethird embodiment, the contact gain needs to be adjusted on a trial anderror basis. In the fourth embodiment, a simulation of a leg touchingthe ground in a later stage of the swing phase was carried out. However,if a large obstacle exists on the ground, a touch occurs in an earlystage of the swing phase. In so doing, with the controlling methodaccording to the fourth embodiment, when a shift to the stance phaseoccurs with the contact gain set to 1, since the feedback control systemis reactivated with a large difference existing between the targettrajectory and toe position, the toe returns suddenly to the targettrajectory. Consequently, with the controlling method according to thefourth embodiment, the quadrupedal robot can get off balance whengetting over a large obstacle. Thus, in the present embodiment, awalking control system is designed which eliminates the need foradjustment of contact gain and enables gentle leg control even when therobot steps on a large obstacle. Furthermore, a simulation is carriedout using a model of the quadrupedal robot to demonstrate that thecontrol system proposed by the present invention enables walking onuneven terrain.

(1) Modeling

A link and muscle arrangements of a quadrupedal robot as well as acoordinate system are illustrated in side view in FIG. 26. In anabsolute coordinate system, an x-y plane is set parallel to the plane ofthe paper and the z axis is directed perpendicularly out of the plane ofthe paper. Coordinates (x_(G), y_(G), z_(G)) represent center-of-gravityposition of the body. According to the present embodiment, centering onthe center of gravity of the body, a clockwise angular displacementaround the x axis is designated as roll, a clockwise angulardisplacement around the z axis is designated as pitch, and a clockwiseangular displacement around the y axis is designated as yaw. Accordingto the present embodiment, local x_(RH)-y_(RH), x_(RF)-y_(RF),x_(LH)-y_(LH) and x_(LF)-y_(LF) coordinate systems are established on aright hind leg, right front leg, left hind leg and left front leg,respectively. Only the x_(RH)-y_(RH) coordinate system and x_(RF)-y_(RF)coordinate system are illustrated in FIG. 26. The coordinate systems onthe legs are established such that the x-y plane will be parallel to thebottom face of the robot body.

The quadrupedal robot controlled in the present embodiment uses two-linkmanipulators in the front legs and three-link manipulators in the hindlegs, where the three-link manipulator in each hind leg is used as anequivalent two-link manipulator with the angle of the third link fixedat 90 degrees. Consequently, the control technique for the two-link,three-pair six-muscle manipulator according to the second embodiment canbe applied to both the front legs and hind legs. Also a spherical footis attached to the tip of each leg. Mass is assigned to the tail andneck, but no mass is assigned to the head. The quadrupedal robot ismodeled using mechanical analysis software RecurDyn and used in thepresent embodiment for a simulation of walking on uneven terrain.

Parameters of the nth link (n=1, 2) of the front and hind legs are asfollows. Link lengths l_(Fn) and l_(Hn) are l_(F1)=0.070 m, l_(F2)=0.12m, l_(H1)=0.090 m and l_(H2)=0.1235 m; moments of inertia I_(Fn) andI_(Hn) are I_(F1)=11.74×10⁻⁶ kg·m², I_(F2)=52.959×10⁻⁶ kg·m²,I_(H1)=22.81×10⁻⁶ kg·m² and I_(H2)=94.35×10⁻⁶ kg·m²; and masses M_(Fn)and M_(Hn) are M_(F1)=2.16×10⁻² kg, M_(E-2)=3.6298×10⁻² kg,M_(H1)=2.71×10⁻² kg and M_(H2)=5.2558×10⁻² kg. Lengths of the body inthe x and z directions are l_(bx)=0.28 m and l_(bz)=0.05 m; z-directionspacing in the groin is l_(b1)=0.15 m; mass M_(b) is M_(b)=0.7309 kg;and pulley diameter and spherical-foot diameter are r 0.02 m andr_(f)=0.008 m. The elastic force constant and viscous force constant ofthe artificial muscle actuator are k=150.5 N/m and b=0.01 N·s/m. Theelastic force constant of the artificial muscle actuator is determinedby measuring a 0.25-inch type Mckibben artificial muscle actuator madeby KANDA TSUSHIN KOGYO CO., LTD.

(2) Control System Design

First, a toe trajectory and stiffness ellipse are set for each leg.Regarding the trajectory, the toe draws the upper half of an ellipse inthe swing phase, and a straight line in the stance phase. A stride isset to 0.06 m. The present invention realizes stable walking byexhibiting stiffness in a direction perpendicular to the body when legsunexpectedly step on an uneven ground surface. Therefore, the stiffnessellipses are set perpendicular to the local coordinate systems of thelegs by the method used in the second embodiment.

In FIG. 27A, a stick diagram of the right hind leg is indicated by asolid line, a toe trajectory is indicated by a dashed line, and astiffness ellipse is indicated by a broken line. The positive xdirection of the hind legs coincides with the traveling direction of thebody, so the toe is driven in the direction of the arrow in FIG. 27A.Thus, the stiffness ellipse is set to become perpendicular to thex_(HR)-y_(HR) coordinate system when the toe goes through approximately80% of the swing phase. First, if the stiffness of the single-jointdriving actuator is set to U_(1R)=13 and U_(2R)=15, the stiffness of thetwo-joint driving actuator is determined to be U_(3R)=8.5377 from Eq.(29). The stiffness of the single-joint driving actuator here has beendetermined through a simulation carried out by using the two-linkmanipulator model used in the second embodiment and giving ¼ the weightof the robot body as a hand disturbance. The same trajectory andstiffness as the right hind leg can be used for the left hind leg.

Similarly, in FIG. 27B, a stick diagram of the right front leg isindicated by a solid line, a toe trajectory is indicated by a dashedline, and a stiffness ellipse is indicated by a broken line. Thenegative x direction of the front legs coincides with the travelingdirection of the body, so the toe is driven in the direction of thearrow in FIG. 27B. If the stiffness of the front legs is set toU_(1F)=13 and U_(2F)=15 as in the case of the hind legs, the stiffnessof the two-joint driving actuator is determined to be U_(3F)=55.80 fromEq. (29). However, the value is larger than the stiffness U_(1F) andU_(2F) of the one-joint driving actuator, and the stiffness of thetwo-joint driving actuator can narrow the operating range of the legs.Thus, U_(3F)′=13.95 is used for the front legs by reducing the stiffnessof the two-joint driving actuator to ¼.

Next, a gait used in the present embodiment is illustrated in a gaitphase diagram of FIG. 28A. Thick line segments indicate stance phasesand thin line segments indicate swing phases. One walking period is 1second. In the present embodiment, by taking into consideration walkingon uneven terrain, a duty factor is set to β=0.8 and a wave gait is usedwhereby the right hind leg, right front leg, left hind leg, and leftfront leg are lifted in this order. Furthermore, the stance phase isdivided into stance phases A, B, C and D as illustrated in FIG. 28B. Inthe present embodiment, at the end time of each stance phase A indicatedby a triangular mark in FIG. 28A, a linear trajectory from the toeposition at that time to an end position of the stance phase B isrecalculated. The recalculated trajectory is used in the stance phase Bindicated by hatching.

A method for setting contact gain is illustrated in a block diagram ofFIG. 29. In FIG. 29, P represents a leg which is a two-link manipulator,K represents a PID controller and muscle command allocation portion,G_(t) represents contact gain, Memory represents a preset trajectory,and Compensator represents a recalculated trajectory. Also, the leg'sstate of touch with the ground is detected by a touch sensor orproximity sensor, and the contact gain G_(t) is determined by takinginto consideration the state of touch and leg phases as illustrated inthe table in FIG. 29. If the contact gain G_(t) is changed in this way,when the foot touches the ground in the swing phase or stance phase A, afeedback loop is shut off. Consequently, the trajectory following isinterrupted, and shocks are absorbed and the body is supported byviscoelastic forces of the artificial muscle actuators. Then, uponshifting to the stance phase B, trajectory control is resumed regardlessof the leg's state of touch and control is performed using therecalculated trajectory. Also, the recalculation of the trajectory istargeted at the end position of the stance phase B. This prevents a dropof the waist or shoulder more effectively than when the trajectory isrecalculated to the end position of the stance phase D. Trajectoryfollowing is also controlled in the stance phases C and D, moving thebody forward. Besides, only 0 and 1 are used as the contact gain G_(t),so there is no need to make a setting on a trial and error basis.

(3) Simulation

A simulation of walking on uneven terrain was carried out using thecontrol system described above. A plate-shaped obstacle 14 mm high and70 mm wide in the x direction was placed to set up the uneven terrain.Outward appearance of a quadrupedal robot and obstacle drawn by RecurDynis illustrated in FIG. 30. The obstacle was placed at a position 0.1 maway in the x direction from the hind legs and was touched first by theleft hind leg in the second walking cycle.

A simulation of 6-second walking was carried out using the controlsystem illustrated in FIG. 29. Time-history responses of the hind legswhich touch the obstacle are illustrated in FIGS. 31A to 31D, whereFIGS. 31A and 31B illustrate an angle θ_(LH1) response of the first linkand angle θ_(LH2) of the second link of the left hind leg while FIGS.31C and 31D illustrate an angle θ_(RH1) response of the first link andangle θ_(RH2) of the second link of the right hind leg. The responses injoint angles are indicated by solid lines and target trajectories areindicated by dashed lines. In a time slot when the contact gain is 0according to the table in FIG. 29, the feedback loop is shut off,interrupting the trajectory control, and thus target trajectories arenot shown. As can be seen from FIGS. 31A and 31B, in the walking cycleof the left hind leg which began after at second 1.5, the left hind legtouched the obstacle at second 1.6 in the middle of the swing phase.Subsequently, the feedback loop was shut off until the stance phase Bbegan at second 1.75, and the foot was placed on the ground solely bythe viscoelasticity of the artificial muscle actuator. Then, at second1.75, a linear trajectory from the then-current toe position to the endposition of the stance phase B was calculated, and the leg wascontrolled subsequently so as to follow the calculated trajectory. Ascan be seen from FIGS. 31C and 31D, during a swing phase beginning atsecond 3 and ending at second 3.2, the right hind leg stepped off theobstacle and touched the ground in the middle of the swing phase. Againthe foot was put on the ground solely by the viscoelasticity of theartificial muscle actuator. In FIGS. 32A and 32B, loci of the center ofthe spherical left hind foot during walking on flat terrain and duringencounter with an obstacle are indicated by solid lines and targettrajectories are indicated by broken lines. During the walking on theflat terrain in FIG. 32A, the toe is controlled so as to follow thetrajectory. During the encounter with the obstacle in FIG. 32B, as theleg touches the obstacle in the middle of a swing phase, the toetrajectory is displaced in the negative direction on y_(LH) coordinates.Thus, it can be seen that the leg touches the ground with the shock oftouch being absorbed solely by the viscoelasticity of the artificialmuscle actuator. Then, at the start time of the stance phase B, a lineartrajectory from the toe position at that time to an end position of thestance phase B is calculated, and the leg is controlled subsequently soas to follow the calculated trajectory. It can be seen that the controlsystem according to the present embodiment absorbs shocks softly when afoot is placed unexpectedly on the ground and recalculates trajectoriesto prevent the leg from running suddenly onto an obstacle.

Next, effectiveness of the leg control for a quadrupedal robot will beverified using the legs' states of touch illustrated in FIGS. 33A and33B as well as the body's center of gravity coordinates illustrated inFIGS. 34A to 34C. Each leg's state of touch is illustrated in a gaitphase diagram of FIG. 33A. For comparison, legs' states of touchobtained by a simulation of walking are illustrated FIG. 33B, wheretrajectories of the legs of the quadrupedal robot were controlled usingonly preset target trajectories of joints in the simulation. In FIGS.33A and 33B, white portions indicate swing phases and gray portionsindicate stance phases. Also, gray portions surrounded by black bordersindicate stance phases in which the legs touch an obstacle. Periodsduring which the legs are in touch with the ground in the simulation ofwalking are indicated by solid lines. Also, RH, RF, LH and LF denote theright hind leg, right front leg, left hind leg, and left front leg,respectively. FIGS. 34A to 34C illustrate responses in terms of a rollangle of the body center of gravity and displacement and velocity in thetraveling direction. The responses obtained by the control techniqueaccording to the present embodiment are indicated by solid lines and theresponses obtained by walking control based on simply followingtrajectories of joints are indicated by broken lines.

It can be seen from the responses obtained by the control techniqueaccording to the present embodiment in FIG. 33A that the quadrupedalrobot walks by lifting the right hind leg, right front leg, left hindleg, and left front leg in this order, places the left hind leg on theobstacle at second 1.7, and places the right hind leg on the obstacle atsecond 2.2. Then, at second 2.8, the left hind leg steps off theobstacle and the body rolls leftward greatly as indicated by a solidline in FIG. 34A. Consequently, in the subsequent swing phase, the leftfront leg cannot be lifted and remains in contact with the ground, andthe leg is placed on the ground solely by the viscoelasticity of theartificial muscle actuator. This reduces the roll of the body and allowsthe robot to regain its posture. Thus, it can be seen from FIG. 33A thatthe legs can be lifted in all the subsequent swing phases beginning withthe right hind leg, allowing the robot to continue walking. Also, it canbe seen from FIG. 34A that the variation range of the roll angle duringthe period between second 4 and second 6 when the robot steps off theobstacle is about the same as before the robot steps on the obstacle.Also, it can be seen from FIGS. 34B and 34C that the robot is walkingforward without reducing speed around the obstacle.

With the walking control based on simply following the trajectories ofjoints, as can be seen from FIG. 33B, the left hind leg of thequadrupedal robot steps off at second 2.8 as with the technique proposedby the present embodiment. In so doing, the body rolls leftward greatlyand subsequently the left front leg cannot be lifted. However, evenwhile remaining in contact with the ground, since the left front leg iscontrolled so as to follow a swing trajectory, the roll is not reducedand the left front leg even pushes the ground. This results in rightwardroll, and in the swing phase at second 3.2, the right front leg pushesthe ground without being lifted and consequently leftward roll occurs atsecond 3.8. Regarding the roll angle of the body, as indicated by abroken line in FIG. 34A, the roll which occurs at second 2.8 is notreduced until around second 4.8. Consequently, as can be seen from FIG.33B, the legs often remain on the ground in swing phases at second 3 andlater, and the robot remains unable to walk until second 4.5. Asindicated by a broken line in FIG. 34C, between second 2.8 and second4.8, as trajectory control is continued in swing phases when the legsremain on the ground, velocity in the negative direction is generated atthe body center of gravity because the legs push the ground.Consequently, as indicated by a broken line in FIG. 34B, the forwardwalk is at a standstill between second 2.8 and second 4.8.

Loci of the centers of the spherical feet in the simulation of walkingare illustrated in FIGS. 35A and 35B. The right hind leg, right frontleg, left hind leg, and left front leg are indicated by a solid line,dotted line, broken line and dashed line, respectively. Besides, theground with the obstacle placed thereon is indicated by a thick solidline. As can be seen from the responses in FIG. 35A, with the controlsystem according to the present embodiment, the robot can walk withoutbeing brought to a standstill by the obstacle. On the other hand, withthe walking control based on simply following the trajectories ofjoints, as can be seen from the responses in FIG. 35B, the toe isdisplaced backward after the leg steps off the obstacle. This is becausethe foot placed on the ground in the swing phase is pushed back from theground as the trajectory control is continued with the foot placed onthe ground.

Changes in the posture of the robot controlled by the control techniqueaccording to the present embodiment is illustrated in FIG. 36A atintervals of 0.5 second starting from second 4.2. For comparison,posture changes brought about by the walking control based on simplyfollowing the trajectories of joints are illustrated in FIG. 36B. Withthe control technique according to the present embodiment, the robot canwalk in a stable posture after stepping off a level difference. On theother hand, with the walking control based on simply following thetrajectories of joints, the robot loses its balance greatly secondsafter stepping off a level difference as illustrated in the fifth framefrom the top.

Accelerations of the body center of gravity in the direction of gravityare illustrated in FIG. 37, where the solid line represents the controltechnique according to the present embodiment and the dotted linerepresents the walking control based on simply following thetrajectories of joints. Since the control technique according to thepresent embodiment realizes soft placement of feet on the ground usingthe viscoelasticity of artificial muscle actuators, variations in theacceleration in the direction of gravity are small, and so is a maximumvalue of the acceleration.

In this way, since the control technique according to the presentembodiment allows the robot to place feet softly on the ground andprevents the robot from running suddenly onto an obstacle, the controltechnique can realize stable walking even on uneven terrain withobstacles.

While the present invention has been described with reference toexemplary embodiments, it is to be understood that the invention is notlimited to the disclosed exemplary embodiments. The scope of thefollowing claims is to be accorded the broadest interpretation so as toencompass all such modifications and equivalent structures andfunctions.

This application claims the benefit of Japanese Patent Applications No.2010-212314, filed Sep. 22, 2010 and No. 2011-175521, filed Aug. 11,2011 which are hereby incorporated by reference herein in theirentirety.

What is claimed is:
 1. A robot system controlling method for a robotsystem which comprises a link whose base end is swingably supported by afixing member, and a pair of actuators connected to the fixing memberand the link and adapted to swing the link using a difference betweencontraction forces, adjusts the contraction forces of the actuatorsbased on respective contraction force command values, and therebycontrols operation of the link, the controlling method comprising:performing a deviation calculation to calculate a value which representsa deviation between a swing angle θ₁ and a target swing angle r_(a) ofthe link with respect to the fixing member; performing torque commandgeneration to perform PID control calculations on the value whichrepresents the deviation and thereby generate a torque command value T₁to swing the link; performing multiplication to calculate a product U₁×rof length r of a moment arm from a swing center of the link and astiffness command value U₁ which represents a sum of the contractionforce command values; performing torque command correction to generate anew torque command value T₁ whose absolute value is limited to or belowthe product U₁×r if the absolute value of the originally generatedtorque command value T₁ is larger than the product U₁×r while using theoriginally generated torque command value T₁ as it is if the absolutevalue of the originally generated torque command value T₁ is equal to orsmaller than the product U₁×r; and performing contraction force commandvalue calculations to determine the contraction force command valuesusing calculation formulae (U₁+T₁/r)/2, (U₁−T₁/r)/2 based on the torquecommand value T₁ generated as a result of the torque command correction.2. The robot system controlling method according to claim 1, wherein:the robot system comprises a sensor adapted to generate a detectionsignal when an external force acts on the link; and during a period whenthe detection signal continues to be output from the sensor, thedeviation calculation multiplies the value which represents thedeviation by 0 and thereby calculates a new value which represents thedeviation.
 3. A robot system controlling method for a robot system whichcomprises a first link whose base end is swingably supported by a fixingmember, a second link whose base end is swingably supported at a tip ofthe first link, a pair of first actuators connected to the fixing memberand the first link and adapted to swing the first link using adifference between contraction forces, a pair of second actuatorsconnected to the first link and the second link and adapted to swing thesecond link using a difference between contraction forces, and a pair ofthird actuators connected to the fixing member and the second link andadapted to swing the first link and the second link using a differencebetween contraction forces, adjusts the contraction forces of the pairof first actuators, the pair of second actuators, and the pair of thirdactuators based on respective contraction force command values, andthereby controls operation of the first link and the second link, thecontrolling method comprising: performing a first deviation calculationto calculate a value which represents a first deviation between a firstswing angle θ₁ and a first target swing angle r_(a1) of the first linkwith respect to the fixing member; performing first torque commandgeneration to perform PID control calculations on the value whichrepresents the first deviation and thereby generate a first torquecommand value T₁ needed to swing the first link; performing a firstmultiplication to calculate a first product U₁×r₁ of length r₁ of amoment arm from a swing center of the first link and a first stiffnesscommand value U₁ which represents a sum of the contraction force commandvalues for the first actuators; performing a first torque commandcorrection to generate a new first torque command value T₁ whoseabsolute value is limited to or below the first product U₁×r₁ if theabsolute value of the originally generated first torque command value T₁is larger than the first product U₁×r₁ while using the originallygenerated first torque command value T₁ as it is if the absolute valueof the originally generated first torque command value T₁ is equal to orsmaller than the first product U₁×r₁; performing first contraction forcecommand value calculations to determine the contraction force commandvalues for the first actuators using calculation formulae (U₁+T₁/r₁)/2,(U₁−T₁/r₁)/2 based on the first torque command value T₁ generated as aresult of the torque command correction; performing a second deviationcalculation to calculate a value which represents a second deviationbetween a second swing angle θ₂ and a second target swing angle r_(a2)of the second link with respect to the first link; performing a secondtorque command generation to perform PID control calculations on thevalue which represents the second deviation and thereby generate asecond torque command value T₂ to swing the second link; performing asecond multiplication to calculate a second product U₂×r₂ of length r₂of a moment arm from a swing center of the second link and a secondstiffness command value U₂ which represents a sum of the contractionforce command values for the second actuators; performing a secondtorque command correction to generate a new second torque command valueT₂ whose absolute value is limited to or below the second product U₂×r₂if the absolute value of the originally generated second torque commandvalue T₂ is larger than the second product U₂×r₂ while using theoriginally generated second torque command value T₂ as it is if theabsolute value of the originally generated second torque command valueT₂ is equal to or smaller than the second product U₂×r₂; and performingsecond contraction force command value calculations to determine thecontraction force command values for the second actuators usingcalculation formulae (U₂+T₂/r₂)/2, (U₂−T₂/r₂)/2 based on the secondtorque command value T₂.
 4. The robot system controlling methodaccording to claim 3, wherein: the robot system comprises a sensoradapted to generate a detection signal when an external force acts onthe second link; during a period when the detection signal continues tobe output from the sensor, the first deviation calculation multipliesthe value which represents the first deviation by a first coefficientvalue G_(t1) which represents 0 and thereby calculates a new value whichrepresents the first deviation; and during the period when the detectionsignal continues to be output from the sensor, the second deviationcalculation multiplies the value which represents the second deviationby a second coefficient value G_(t2) which represents 0 and therebycalculates a new value which represents the second deviation.
 5. Therobot system controlling method according to claim 4, furthercomprising: performing third contraction force command valuecalculations to set the contraction force command values for therespective third actuators to ½ a third stiffness command value U₃ whichrepresents a sum of the contraction force command values for the thirdactuators.
 6. The robot system controlling method according to claim 3,wherein: the robot system comprises a sensor adapted to generate adetection signal when an external force acts on the link; during aperiod when the detection signal continues to be output from the sensor,the first deviation calculation multiplies the value which representsthe first deviation by a first coefficient value G_(t1) varied between 0and 1 (both inclusive) and thereby calculates a new value whichrepresents the first deviation; and during the period when the detectionsignal continues to be output from the sensor, the second deviationcalculation multiplies the value which represents the second deviationby a second coefficient value varied G_(t2) between 0 and 1 (bothinclusive) and thereby calculates a new value which represents thesecond deviation.
 7. The robot system controlling method according toclaim 6, wherein the first coefficient value G_(t1) and the secondcoefficient value G_(t2) are set to increase with passage of time fromthe start of the period when the detection signal continues to be outputfrom the sensor.
 8. The robot system controlling method according toclaim 6, further comprising: calculating a third stiffness command valueU₃ which represents a sum of the contraction force command values forthe third actuators using a calculation formula which includes the firststiffness command value U₁, the second stiffness command value U₂, thefirst target swing angle r_(a1) and the second target swing angle r_(a2)as variables, where the third stiffness command value U₃ is calculatedso as to cause one of a major axis and a minor axis of an ellipse whichrepresents stiffness characteristics which in turn represent magnitudeof stiffness at a tip of the second link to be parallel to a referenceaxis in an orthogonal coordinate system defined in a plane in which thefirst link and the second link swing, the ellipse having a center at thetip of the second link in the orthogonal coordinate system; andperforming third contraction force command value calculations to set thecontraction force command values for the respective third actuators to ½the third stiffness command value U₃.
 9. The robot system controllingmethod according to claim 4, wherein: during the period when thedetection signal continues to be output from the sensor, the firsttorque command generation adds a value obtained by multiplying resultsof the PID control calculations on the value which represents the firstdeviation existing just before the detection signal is output from thesensor by a value of (1−G_(t1)) to a value obtained by multiplyingresults of the PID control calculations on the value which representsthe first deviation by the first coefficient value G_(t1), and therebygenerates the first torque command value T₁; and during the period whenthe detection signal continues to be output from the sensor, the secondtorque command generation adds a value obtained by multiplying resultsof the PID control calculations on the value which represents the seconddeviation existing just before the detection signal is output from thesensor by a value of (1−G_(t2)) to a value obtained by multiplyingresults of the PID control calculations on the value which representsthe second deviation by the second coefficient value G_(t2), and therebygenerates the second torque command value T₂.
 10. A robot systemcontrolling method for a robot system which comprises a link whose baseend is swingably supported by a fixing member, a rotating motor placedat a joint between the fixing member and the link and adapted to swingthe link, and a motor circuit configured such that the rotating motorwill be regarded as a pair of virtual actuators adapted to swing thelink using a difference between contraction forces, adjusts thecontraction forces of the virtual actuators based on respectivecontraction force command values, and thereby controls operation of thelink, the controlling method comprising: performing a deviationcalculation to calculate a value which represents a deviation between aswing angle θ₁ and a target swing angle r_(a) of the link with respectto the fixing member; performing torque command generation to performPID control calculations on the value which represents the deviation andthereby generate a torque command value T₁ to swing the link; performedmultiplication to calculate a product U₁×r of length r of a virtualmoment arm from a swing center of the link and a stiffness command valueU₁ which represents a sum of the contraction force command values;performing torque command correction to generate a new torque commandvalue T₁ whose absolute value is limited to or below the product U₁×r ifthe absolute value of the torque command value T₁ generated in thetorque command generation is larger than the product U₁×r while usingthe torque command value T₁ generated in the torque command generationas it is if the absolute value of the torque command value T₁ generatedin the torque command generation is equal to or smaller than the productU₁×r; and performing contraction force command value calculations todetermine the contraction force command values using calculationformulae (U₁+T₁/r)/2, (U₁−T₁/r)/2 based on the torque command value T₁generated as a result of the torque command correction.
 11. The robotsystem controlling method according to claim 10, wherein: the robotsystem comprises a sensor adapted to generate a detection signal when anexternal force acts on the link; during a period when the detectionsignal continues to be output from a sensor, the deviation calculationmultiplies the value which represents the deviation by 0 and therebycalculates a new value which represents the deviation.
 12. The robotsystem controlling method according to claim 1, wherein a hyperbolictangent function is used to limit the torque command correction.
 13. Arobot system comprising: a link whose base end is swingably supported bya fixing member; a pair of actuators connected to the fixing member andthe link and adapted to swing the link using a difference betweencontraction forces; and a control apparatus adapted to adjust thecontraction forces of the actuators based on respective contractionforce command values and thereby control operation of the link, whereinthe control apparatus comprises: a swing angle detection sensor adaptedto detect a swing angle θ₁ of the link with respect to the fixingmember, a deviation calculation unit adapted to calculate a value whichrepresents a deviation between the swing angle θ₁ and a target swingangle r_(a), a torque command generating unit adapted to perform PIDcontrol calculations on the value which represents the deviation andthereby generate a torque command value T₁ to swing the link, amultiplication unit adapted to calculate a product U₁×r of length r of amoment arm from a swing center of the link and a stiffness command valueU₁ which represents a sum of the contraction force command values, atorque command correction unit adapted to output a new torque commandvalue T₁ whose absolute value is limited to or below the product U₁×r ifthe absolute value of the torque command value T₁ generated by thetorque command generating unit is larger than the product U₁×r whileoutputting the torque command value T₁ generated by the torque commandgenerating unit as it is if the absolute value of the torque commandvalue T₁ generated by the torque command generating unit is equal to orsmaller than the product U₁×r, and a contraction force command valuecalculating unit adapted to determine the contraction force commandvalues using calculation formulae (U₁+T₁/r)/2, (U₁−T₁/r)/2 based on thetorque command value T₁ output from the torque command correction unit.14. The robot system according to claim 13 wherein: the controlapparatus further comprises a sensor adapted to generate a detectionsignal when an external force acts on the link; and during a period whenthe detection signal continues to be output from a sensor, the deviationcalculation unit multiplies the value which represents the deviation by0 and thereby calculates a new value which represents the deviation. 15.A robot system comprising: a first link whose base end is swingablysupported by a fixing member; a second link whose base end is swingablysupported at a tip of the first link; a pair of first actuatorsconnected to the fixing member and the first link and adapted to swingthe first link using a difference between contraction forces; a pair ofsecond actuators connected to the first link and the second link andadapted to swing the second link using a difference between contractionforces; a pair of third actuators connected to the fixing member and thesecond link and adapted to swing the first link and the second linkusing a difference between contraction forces; and a control apparatusadapted to adjust the contraction forces of the pair of first actuators,the pair of second actuators, and the pair of third actuators based onrespective contraction force command values, and thereby controloperation of the first link and the second link, wherein the controlapparatus comprises: a first swing angle detection sensor adapted todetect a first swing angle θ₁ of the first link with respect to thefixing member, a first deviation calculation unit adapted to calculate avalue which represents a first deviation between the first swing angleθ₁ and a first target swing angle r_(a1), a first torque commandgenerating unit adapted to perform PID control calculations on the valuewhich represents the first deviation and thereby generate a first torquecommand value T₁ to swing the first link, a first multiplication unitadapted to calculate a first product U₁×r₁ of length r₁ of a moment armfrom a swing center of the first link and a first stiffness commandvalue U₁ which represents a sum of the contraction force command valuesfor the first actuators, a first torque command correction unit adaptedto output a new first torque command value T₁ whose absolute value islimited to or below the first product U₁×r₁ if the absolute value of thefirst torque command value T₁ generated by the first torque commandgenerating unit is larger than the first product U₁×r₁ while outputtingthe first torque command value T₁ generated by the first torque commandgenerating unit as it is if the absolute value of the first torquecommand value T₁ generated by the first torque command generating unitis equal to or smaller than the first product U₁×r₁, a first contractionforce command value calculating unit adapted to determine thecontraction force command values for the first actuators usingcalculation formulae (U₁+T₁/r₁)/2, (U₁−T₁/r₁)/2 based on the firsttorque command value T₁ output from the first torque command correctionunit, a second swing angle detection sensor adapted to detect a secondswing angle θ₂ of the second link with respect to the first link, asecond deviation calculation unit adapted to calculate a value whichrepresents a second deviation between the second swing angle θ₂ and asecond target swing angle r_(a2), a second torque command generatingunit adapted to perform PID control calculations on the value whichrepresents the second deviation and thereby generate a second torquecommand value T₂ to swing the second link, a second multiplication unitadapted to calculate a second product U₂×r₂ of length r₂ of a moment armfrom a swing center of the second link and a second stiffness commandvalue U₂ which represents a sum of the contraction force command valuesfor the second actuators, a second torque command correction unitadapted to output a new second torque command value T₂ whose absolutevalue is limited to or below the second product U₂×r₂ if the absolutevalue of the second torque command value T₂ generated by the secondtorque command generating unit is larger than the second product U₂×r₂while outputting the second torque command value T₁ generated by thesecond torque command generating unit as it is if the absolute value ofthe second torque command value T₂ generated by the second torquecommand generating unit is equal to or smaller than the second productU₂×r₂, and a second contraction force command value calculating unitadapted to determine the contraction force command values for the secondactuators using calculation formulae (U₂+T₂/r₂)/2, (U₂−T₂/r₂)/2 based onthe second torque command value T₂ output from the second torque commandcorrection unit.
 16. The robot system according to claim 15 wherein: thecontrol apparatus further comprises a sensor adapted to generate adetection signal when an external force acts on the second link; duringa period when the detection signal continues to be output from thesensor, the first deviation calculation unit multiplies the value whichrepresents the first deviation by a first coefficient value G_(t1) whichrepresents 0 and thereby calculates a new value which represents thefirst deviation; and during a period when the detection signal continuesto be output from the sensor, the second deviation calculation unitmultiplies the value which represents the second deviation by a secondcoefficient value G_(t2) which represents 0 and thereby calculates a newvalue which represents the second deviation.
 17. The robot systemaccording to claim 16 further comprising a third contraction forcecommand value calculating unit adapted to set the contraction forcecommand values for the respective third actuators to ½ a third stiffnesscommand value U₃ which represents a sum of the contraction force commandvalues for the third actuators.
 18. The robot system according to claim15 wherein: the control apparatus further comprises a sensor adapted togenerate a detection signal when an external force acts on the link;during a period when the detection signal continues to be output fromthe sensor, the first deviation calculation unit multiplies the valuewhich represents the first deviation by a first coefficient value G_(t1)varied between 0 and 1 (both inclusive) and thereby calculates a newvalue which represents the first deviation; and during the period whenthe detection signal continues to be output from the sensor, the seconddeviation calculation unit multiplies the value which represents thesecond deviation by a second coefficient value varied G_(t2 between) 0and 1 (both inclusive) and thereby calculates a new value whichrepresents the second deviation.
 19. The robot system according to claim18 wherein the first coefficient value G_(t1) and the second coefficientvalue G_(t2) are set to increase with passage of time from the start ofthe period when the detection signal continues to be output from thesensor.
 20. The robot system according to claim 18 further comprising: acalculating unit adapted to calculate a third stiffness command value U₃which represents a sum of the contraction force command values for thethird actuators using a calculation formula which includes the firststiffness command value U₁, the second stiffness command value U₂, thefirst target swing angle r_(a1) and the second target swing angle r_(a2)as variables, where the third stiffness command value U₃ is calculatedso as to cause one of a major axis and a minor axis of an ellipse whichrepresents stiffness characteristics which in turn represent magnitudeof stiffness at a tip of the second link to be parallel to a referenceaxis in an orthogonal coordinate system defined in a plane in which thefirst link and the second link swing, the ellipse having a center at thetip of the second link in the orthogonal coordinate system; and a thirdcontraction force command value calculating unit adapted to set thecontraction force command values for the respective third actuators to ½the third stiffness command value U₃.
 21. The robot system according toclaim 16 wherein: during the period when the detection signal continuesto be output from the sensor, the first torque command generating unitadds a value obtained by multiplying results of the PID controlcalculations on the value which represents the first deviation existingjust before the detection signal is output from the sensor by a value of(1−G_(t1)) to a value obtained by multiplying results of the PID controlcalculations on the value which, being calculated by the first deviationcalculation unit, represents the first deviation by the firstcoefficient value G_(t1) and thereby generates the first torque commandvalue T₁; and during the period when the detection signal continues tobe output from the sensor, the second torque command generating unitadds a value obtained by multiplying results of the PID controlcalculations on the value which represents the second deviation existingjust before the detection signal is output from the sensor by a value of(1−G_(t2)) to a value obtained by multiplying results of the PID controlcalculations on the value which, being calculated by the seconddeviation calculation unit, represents the second deviation by thesecond coefficient value G_(t2), and thereby generates the second torquecommand value T₂.
 22. A robot system comprising: a link whose base endis swingably supported by a fixing member; a rotating motor placed at ajoint between the fixing member and the link and adapted to swing thelink; a motor circuit configured such that the rotating motor will beregarded as a pair of virtual actuators adapted to swing the link usinga difference between contraction forces; and a control apparatus adaptedto adjust the contraction forces of the virtual actuators based onrespective contraction force command values and thereby controloperation of the link, wherein the control apparatus comprises: adeviation calculation unit adapted to calculate a value which representsa deviation between a swing angle θ₁ and a target swing angle r_(a) ofthe link with respect to the fixing member; a torque command generationunit adapted to perform PID control calculations on the value whichrepresents the deviation and thereby generate a torque command value T₁to swing the link; a multiplication unit adapted to calculate a productU₁×r of length r of a virtual moment arm from a swing center of the linkand a stiffness command value U₁ which represents a sum of thecontraction force command values, a torque command correction unitadapted to output a new torque command value T₁ whose absolute value islimited to or below the product U₁×r if the absolute value of the torquecommand value T₁ generated by the torque command generating unit islarger than the product U₁×r while outputting the torque command valueT₁ generated by the torque command generating unit as it is if theabsolute value of the torque command value T₁ generated by the torquecommand generating unit is equal to or smaller than the product U₁×r,and a contraction force command value calculating unit adapted todetermine the contraction force command values using calculationformulae (U₁+T₁/r)/2, (U₁−T₁/r)/2 based on the torque command value T1output from the torque command correction unit.
 23. The robot systemaccording to claim 22 wherein: the control apparatus further comprises asensor adapted to generate a detection signal when an external forceacts on the link; and during a period when the detection signalcontinues to be output from a sensor, the deviation calculation unitmultiplies the value which represents the deviation by 0 and therebycalculates a new value which represents the deviation.
 24. A controlapparatus for a quadrupedal robot comprising: the robot system accordingto claim 13; a table which determines the coefficient value G_(t) basedon a leg phase of the quadrupedal robot and a detection signal of asensor generated when an external force acts on the second link; and atrajectory calculation unit adapted to recalculate the target swingangle at a specific time.